
/* 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;
  offsetT count;
  int iVar3;
  char *pcVar4;
  uint uVar5;
  byte *pbVar6;
  int iVar7;
  undefined4 uVar8;
  char *pcVar9;
  undefined4 uVar10;
  uint uVar11;
  int iVar12;
  int iVar13;
  uint uVar14;
  char *pcVar15;
  undefined4 *puVar16;
  int *piVar17;
  bool bVar18;
  byte bVar19;
  uint uVar20;
  uint local_154;
  int local_150;
  uint local_14c;
  int local_148;
  uint local_144;
  fragS *local_138;
  char *local_134;
  char buf [256];
  
  bVar19 = 0;
                    /* WARNING: Load size is inaccurate */
  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||
     (local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0)) {
    return;
  }
  if ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop)) {
    local_14c = 0;
    local_148 = 0;
    do {
      local_144 = (uint)local_138->fr_fix;
      iVar13 = *(int *)((int)&local_138->fr_fix + 4);
      if (iVar13 != 0 || local_144 != 0) {
        iVar13 = bfd_set_section_contents
                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13
                           );
        if (iVar13 == 0) {
          uVar8 = bfd_get_error();
          uVar10 = bfd_errmsg(uVar8);
          pcVar15 = stdoutput->filename;
          pcVar4 = sec->name;
          uVar8 = (undefined4)local_138->fr_fix;
          pcVar9 = (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\'",uVar8,5);
                    /* WARNING: Subroutine does not return */
          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);
        }
        local_144 = (uint)local_138->fr_fix;
        bVar18 = CARRY4(local_14c,local_144);
        local_14c = local_14c + local_144;
        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;
      }
      uVar2 = (uint)local_138->fr_var;
      iVar13 = *(int *)((int)&local_138->fr_var + 4);
      local_150 = *(int *)((int)&local_138->fr_offset + 4);
      local_154 = (uint)local_138->fr_offset;
      count = local_138->fr_offset;
      pcVar15 = local_138->fr_literal + local_144;
      if (local_138->fr_type == rs_fill_nop) {
        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 0)) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/write.c",0x667,"write_contents");
        }
        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;
        pcVar4 = (char *)xmalloc(local_154);
        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);
        iVar13 = bfd_set_section_contents
                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);
        if (iVar13 == 0) {
          uVar8 = bfd_get_error();
          uVar8 = bfd_errmsg(uVar8);
          pcVar15 = stdoutput->filename;
          pcVar4 = sec->name;
          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);
        }
        bVar18 = CARRY4(local_14c,local_154);
        local_14c = local_14c + local_154;
        local_148 = local_148 + local_150 + (uint)bVar18;
        free(pcVar4);
        local_138 = local_138->fr_next;
      }
      else {
        if (local_150 < 0) {
                    /* WARNING: Subroutine does not return */
          as_abort("../../gas/write.c",0x67d,"write_contents");
        }
        if ((uVar2 != 0 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {
          uVar20 = uVar2;
          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {
            if (iVar13 == 0 && uVar2 == 1) {
              uVar5 = 0x100;
              bVar1 = *pcVar15;
              piVar17 = (int *)buf;
              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {
                *piVar17 = (uint)bVar1 * 0x1010101;
                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;
              }
            }
            else {
              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);
              pbVar6 = (byte *)buf;
              uVar14 = uVar5;
              do {
                while (uVar2 < 4) {
                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {
                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));
                  }
                  pbVar6 = pbVar6 + uVar2;
                  uVar14 = uVar14 - 1;
                  if (uVar14 == 0) goto LAB_0003d249;
                }
                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;
                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));
                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);
                pcVar4 = pcVar15 + -iVar3;
                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);
                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {
                  *puVar16 = *(undefined4 *)pcVar4;
                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;
                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;
                }
                uVar14 = uVar14 - 1;
                pbVar6 = pbVar6 + uVar2;
              } while (uVar14 != 0);
            }
LAB_0003d249:
            do {
              local_134 = buf;
              iVar3 = (int)uVar5 >> 0x1f;
              if ((SBORROW4(local_150,iVar3) !=
                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=
                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {
                uVar5 = local_154;
                iVar3 = local_150;
              }
              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);
              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +
                       uVar20 * iVar3 + iVar13 * uVar5;
              iVar7 = bfd_set_section_contents
                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);
              if (iVar7 == 0) {
                uVar8 = bfd_get_error(uVar5,iVar3);
                uVar8 = bfd_errmsg(uVar8);
                iVar13 = uVar2 * uVar5;
                pcVar15 = stdoutput->filename;
                pcVar4 = sec->name;
                pcVar9 = (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\'",
                                            iVar13,5);
                    /* WARNING: Subroutine does not return */
                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);
              }
              bVar18 = CARRY4(local_14c,uVar14);
              local_14c = local_14c + uVar14;
              local_148 = local_148 + iVar12 + (uint)bVar18;
              bVar18 = local_154 < uVar5;
              local_154 = local_154 - uVar5;
              local_150 = (local_150 - iVar3) - (uint)bVar18;
            } while (-local_150 < (int)(uint)(local_154 != 0));
          }
          else {
            do {
              iVar3 = bfd_set_section_contents
                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);
              if (iVar3 == 0) {
                uVar8 = bfd_get_error();
                uVar8 = bfd_errmsg(uVar8);
                pcVar15 = stdoutput->filename;
                pcVar4 = sec->name;
                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);
              }
              bVar18 = CARRY4(local_14c,uVar20);
              local_14c = local_14c + uVar20;
              local_148 = local_148 + iVar13 + (uint)bVar18;
              bVar18 = local_154 != 0;
              local_154 = local_154 - 1;
              local_150 = local_150 + -1 + (uint)bVar18;
            } while (local_150 != 0 || local_154 != 0);
          }
        }
LAB_0003cff8:
        local_138 = local_138->fr_next;
      }
      if (local_138 == (frag *)0x0) {
        return;
      }
    } while ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop));
  }
                    /* 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_0003ce60(undefined4 param_1,undefined4 *param_2)

{
  byte bVar1;
  uint uVar2;
  undefined4 uVar3;
  int iVar4;
  void *__ptr;
  uint uVar5;
  byte *pbVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  uint uVar12;
  int iVar13;
  int iVar14;
  uint uVar15;
  byte *pbVar16;
  byte *pbVar17;
  undefined4 *puVar18;
  bool bVar19;
  byte bVar20;
  uint uVar21;
  uint local_154;
  int local_150;
  uint local_14c;
  int local_148;
  uint local_144;
  int local_138;
  byte *local_134;
  byte local_11c [268];
  
  bVar20 = 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 {
      local_144 = *(uint *)(local_138 + 0x10);
      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {
        iVar14 = bfd_set_section_contents
                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,
                            *(int *)(local_138 + 0x14));
        if (iVar14 == 0) {
          uVar8 = bfd_get_error();
          uVar10 = bfd_errmsg(uVar8);
          uVar8 = *DAT_00089944;
          uVar3 = *param_2;
          uVar9 = *(undefined4 *)(local_138 + 0x10);
          uVar11 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",
                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar9,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);
        }
        local_144 = *(uint *)(local_138 + 0x10);
        bVar19 = CARRY4(local_14c,local_144);
        local_14c = local_14c + local_144;
        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;
      }
      uVar2 = *(uint *)(local_138 + 0x18);
      iVar14 = *(int *)(local_138 + 0x1c);
      local_150 = *(int *)(local_138 + 0x24);
      local_154 = *(uint *)(local_138 + 0x20);
      pbVar17 = (byte *)(local_144 + local_138 + 0x68);
      if (*(int *)(local_138 + 0x44) == 10) {
        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/write.c",0x667,"write_contents");
        }
        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;
        __ptr = (void *)xmalloc(local_154);
        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);
        iVar14 = bfd_set_section_contents
                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);
        if (iVar14 == 0) {
          uVar8 = bfd_get_error();
          uVar9 = bfd_errmsg(uVar8);
          uVar8 = *DAT_00089944;
          uVar3 = *param_2;
          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);
        }
        bVar19 = CARRY4(local_14c,local_154);
        local_14c = local_14c + local_154;
        local_148 = local_148 + local_150 + (uint)bVar19;
        free(__ptr);
        local_138 = *(int *)(local_138 + 0x30);
      }
      else {
        if (local_150 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");
        }
        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {
          uVar21 = uVar2;
          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {
            if (iVar14 == 0 && uVar2 == 1) {
              uVar5 = 0x100;
              bVar1 = *pbVar17;
              pbVar17 = local_11c;
              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {
                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;
                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;
              }
            }
            else {
              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);
              pbVar6 = local_11c;
              uVar15 = uVar5;
              do {
                while (uVar2 < 4) {
                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {
                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));
                  }
                  pbVar6 = pbVar6 + uVar2;
                  uVar15 = uVar15 - 1;
                  if (uVar15 == 0) goto LAB_0003d249;
                }
                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;
                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));
                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);
                pbVar16 = pbVar17 + -iVar4;
                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);
                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {
                  *puVar18 = *(undefined4 *)pbVar16;
                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;
                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;
                }
                uVar15 = uVar15 - 1;
                pbVar6 = pbVar6 + uVar2;
              } while (uVar15 != 0);
            }
LAB_0003d249:
            do {
              local_134 = local_11c;
              iVar4 = (int)uVar5 >> 0x1f;
              if ((SBORROW4(local_150,iVar4) !=
                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=
                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {
                uVar5 = local_154;
                iVar4 = local_150;
              }
              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);
              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +
                       uVar21 * iVar4 + iVar14 * uVar5;
              iVar7 = bfd_set_section_contents
                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);
              if (iVar7 == 0) {
                uVar8 = bfd_get_error(uVar5,iVar4);
                uVar9 = bfd_errmsg(uVar8);
                iVar14 = uVar2 * uVar5;
                uVar8 = *DAT_00089944;
                uVar3 = *param_2;
                uVar10 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar14,5);
                    /* WARNING: Subroutine does not return */
                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);
              }
              bVar19 = CARRY4(local_14c,uVar15);
              local_14c = local_14c + uVar15;
              local_148 = local_148 + iVar13 + (uint)bVar19;
              bVar19 = local_154 < uVar5;
              local_154 = local_154 - uVar5;
              local_150 = (local_150 - iVar4) - (uint)bVar19;
            } while (-local_150 < (int)(uint)(local_154 != 0));
          }
          else {
            do {
              iVar4 = bfd_set_section_contents
                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);
              if (iVar4 == 0) {
                uVar8 = bfd_get_error();
                uVar9 = bfd_errmsg(uVar8);
                uVar8 = *DAT_00089944;
                uVar3 = *param_2;
                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);
              }
              bVar19 = CARRY4(local_14c,uVar21);
              local_14c = local_14c + uVar21;
              local_148 = local_148 + iVar14 + (uint)bVar19;
              bVar19 = local_154 != 0;
              local_154 = local_154 - 1;
              local_150 = local_150 + -1 + (uint)bVar19;
            } while (local_150 != 0 || local_154 != 0);
          }
        }
LAB_0003cff8:
        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_0002be80("../../gas/write.c",0x64f,"write_contents");
}


CALL 0x00017d1a
ADD EAX,0x4319b
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 0x0003d10e
MOV ECX,dword ptr [ESP + 0x164]
TEST byte ptr [ECX + 0x15],0x1
JZ 0x0003d10e
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX]
MOV dword ptr [ESP + 0x24],EAX
TEST EAX,EAX
JZ 0x0003d10e
MOV EAX,dword ptr [EAX + 0x44]
CMP EAX,0x1
JZ 0x0003cebf
CMP EAX,0xa
JNZ 0x0003d024
MOV EAX,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x10],0x0
MOV dword ptr [ESP + 0x14],0x0
LEA EAX,[EAX + 0x9944]
MOV dword ptr [ESP + 0x34],EAX
MOV dword ptr [ESP + 0x2c],EAX
LEA ESI,[ESI]
MOV EAX,dword ptr [ESP + 0x24]
MOV ECX,dword ptr [EAX + 0x10]
MOV EBX,dword ptr [EAX + 0x14]
LEA ESI,[EAX + 0x68]
MOV dword ptr [ESP + 0x1c],EBX
OR EBX,ECX
MOV dword ptr [ESP + 0x18],ECX
JNZ 0x0003d120
MOV EAX,dword ptr [ESP + 0x24]
MOV EDI,dword ptr [EAX + 0x18]
MOV EDX,dword ptr [EAX + 0x1c]
MOV EBP,dword ptr [EAX + 0x24]
MOV dword ptr [ESP + 0x30],EDI
MOV dword ptr [ESP],EDI
MOV EDI,dword ptr [EAX + 0x20]
MOV dword ptr [ESP + 0x4],EDX
MOV dword ptr [ESP + 0x8],EDI
MOV EDI,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0xc],EBP
ADD EDI,ESI
CMP dword ptr [EAX + 0x44],0xa
MOV dword ptr [ESP + 0x18],EDI
JZ 0x0003d048
MOV EBX,dword ptr [ESP + 0xc]
TEST EBX,EBX
JS 0x0003d3d2
MOV ECX,dword ptr [ESP]
MOV EBX,dword ptr [ESP + 0x4]
MOV EAX,ECX
OR EAX,EBX
JZ 0x0003cff8
MOV EDI,dword ptr [ESP + 0x8]
MOV EBP,dword ptr [ESP + 0xc]
MOV EAX,EDI
OR EAX,EBP
JZ 0x0003cff8
MOV EAX,0x100
CMP EAX,ECX
MOV EAX,0x0
SBB EAX,EBX
JNC 0x0003d178
MOV EAX,dword ptr [ESP + 0x20]
MOV EDX,dword ptr [ESP + 0x10]
MOV ECX,dword ptr [ESP + 0x14]
LEA ESI,[EAX + 0x9944]
LEA ESI,[ESI]
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 0x00014280
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x8]
MOV ECX,dword ptr [ESP + 0xc]
TEST EAX,EAX
JZ 0x0003d36d
ADD EDX,dword ptr [ESP]
ADC ECX,dword ptr [ESP + 0x4]
ADD EDI,-0x1
ADC EBP,-0x1
MOV EBX,EBP
OR EBX,EDI
JNZ 0x0003cf98
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 0x0003d10e
MOV EAX,dword ptr [ESP + 0x24]
MOV EAX,dword ptr [EAX + 0x44]
CMP EAX,0x1
JZ 0x0003cee8
CMP EAX,0xa
JZ 0x0003cee8
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffe1e98]
PUSH EAX
LEA EAX,[EBX + 0xfffe1b4c]
PUSH 0x64f
PUSH EAX
CALL 0x0002be80
MOV ESI,dword ptr [ESP + 0xc]
TEST ESI,ESI
JS 0x0003d3f1
MOV EAX,dword ptr [ESP]
XOR EAX,0x1
OR EAX,EDX
JNZ 0x0003d3f1
MOV EBX,dword ptr [ESP + 0xc]
MOV ECX,dword ptr [ESP + 0x8]
MOV EDX,EBX
OR EDX,ECX
JZ 0x0003cff8
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 0x00014790
MOV EDI,EAX
MOV EAX,dword ptr [ESP + 0x28]
MOVSX EAX,byte ptr [EAX]
MOV dword ptr [ESP],EAX
PUSH dword ptr [ESP + 0x1c]
PUSH dword ptr [ESP + 0x1c]
PUSH EDI
PUSH dword ptr [ESP + 0x40]
CALL 0x0004dea0
LEA ESI,[ESI + 0x9944]
ADD ESP,0x1c
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 0x00014280
ADD ESP,0x20
TEST EAX,EAX
JZ 0x0003d482
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 0x00014780
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 0x0003d00b
ADD ESP,0x14c
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0x4
PUSH dword ptr [ESP + 0x20]
PUSH dword ptr [ESP + 0x20]
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 0x00014280
ADD ESP,0x20
TEST EAX,EAX
JZ 0x0003d410
MOV EAX,dword ptr [ESP + 0x24]
MOV EDX,dword ptr [EAX + 0x14]
MOV EAX,dword ptr [EAX + 0x10]
ADD dword ptr [ESP + 0x10],EAX
MOV dword ptr [ESP + 0x18],EAX
MOV dword ptr [ESP + 0x1c],EDX
ADC dword ptr [ESP + 0x14],EDX
JMP 0x0003cf05
MOV EAX,dword ptr [ESP]
XOR EAX,0x1
OR EDX,EAX
JZ 0x0003d338
PUSH dword ptr [ESP + 0x4]
PUSH dword ptr [ESP + 0x4]
PUSH 0x0
PUSH 0x100
MOV EBX,dword ptr [ESP + 0x30]
CALL 0x00059d00
ADD ESP,0x10
MOV ECX,dword ptr [ESP + 0x30]
MOV EBP,EAX
LEA EAX,[ESP + 0x40]
MOV EBX,ECX
MOV dword ptr [ESP + 0x28],EAX
MOV EDX,ECX
AND EBX,0x2
MOV dword ptr [ESP + 0x3c],EBP
MOV dword ptr [ESP + 0x38],EBX
MOV EBX,dword ptr [ESP + 0x18]
JMP 0x0003d1e4
TEST EDX,EDX
JZ 0x0003d1dd
MOVZX ECX,byte ptr [EBX]
MOV byte ptr [EAX],CL
MOV ECX,dword ptr [ESP + 0x38]
TEST ECX,ECX
JNZ 0x0003d35e
ADD EAX,EDX
SUB EBP,0x1
JZ 0x0003d211
CMP EDX,0x4
JC 0x0003d1c8
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 0x0003d1e4
MOV EBP,dword ptr [ESP + 0x3c]
JMP 0x0003d249
ADD dword ptr [ESP + 0x10],EDX
ADC dword ptr [ESP + 0x14],ECX
MOV ECX,0x0
SUB dword ptr [ESP + 0x8],ESI
MOV EAX,dword ptr [ESP + 0x8]
SBB dword ptr [ESP + 0xc],EDI
XOR EDI,EDI
MOV EDX,dword ptr [ESP + 0xc]
CMP EDI,EAX
SBB ECX,EDX
JGE 0x0003cff8
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 0x0003d264
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 0x00014280
ADD ESP,0x20
MOV EDX,dword ptr [ESP + 0x18]
MOV ECX,dword ptr [ESP + 0x1c]
TEST EAX,EAX
JNZ 0x0003d220
MOV dword ptr [ESP],ESI
MOV ESI,dword ptr [ESP + 0x20]
MOV dword ptr [ESP + 0x4],EDI
MOV EBX,ESI
CALL 0x000142a0
SUB ESP,0xc
PUSH EAX
CALL 0x00014680
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 + 0xfffe1730]
PUSH EDX
MOV dword ptr [ESP + 0x14],EDX
PUSH EAX
LEA EAX,[ESI + 0xfffe1760]
PUSH EAX
PUSH 0x0
CALL 0x00014740
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 0x0002be00
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 0x0003d249
MOVZX ECX,word ptr [EBX + EDX*0x1 + -0x2]
MOV word ptr [EAX + EDX*0x1 + -0x2],CX
JMP 0x0003d1dd
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x000142a0
SUB ESP,0xc
PUSH EAX
MOV dword ptr [ESP + 0x30],EDI
CALL 0x00014680
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 + 0xfffe1730]
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xfffe1760]
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x40],ECX
CALL 0x00014740
ADD ESP,0x14
PUSH EDI
PUSH EBP
PUSH ESI
PUSH dword ptr [ESP + 0x48]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x0002be00
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffe1e98]
PUSH EAX
LEA EAX,[EBX + 0xfffe1b4c]
PUSH 0x67d
PUSH EAX
CALL 0x0002be80
SUB ESP,0x4
MOV EBX,dword ptr [ESP + 0x24]
LEA EAX,[EBX + 0xfffe1e98]
PUSH EAX
LEA EAX,[EBX + 0xfffe1b4c]
PUSH 0x667
PUSH EAX
CALL 0x0002be80
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x000142a0
SUB ESP,0xc
PUSH EAX
MOV dword ptr [ESP + 0x30],EDI
CALL 0x00014680
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 + 0xfffe16d0]
MOV EBX,ECX
MOV dword ptr [ESP + 0x14],EDX
PUSH EAX
LEA EAX,[ECX + 0xfffe1700]
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x40],ECX
CALL 0x00014740
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 0x0002be00
MOV EDI,dword ptr [ESP + 0x20]
MOV EBX,EDI
CALL 0x000142a0
SUB ESP,0xc
PUSH EAX
MOV dword ptr [ESP + 0x30],EDI
CALL 0x00014680
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 + 0xfffe1730]
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xfffe1760]
PUSH EAX
PUSH 0x0
MOV dword ptr [ESP + 0x40],ECX
CALL 0x00014740
ADD ESP,0x14
PUSH EDI
PUSH EBP
PUSH ESI
PUSH dword ptr [ESP + 0x20]
PUSH EAX
MOV EBX,dword ptr [ESP + 0x40]
CALL 0x0002be00
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_0003ce60(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../gas/write.c",0x64f,"write_contents");\n}\n\n" comment (function_definition "void FUN_0003ce60(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../gas/write.c",0x64f,"write_contents");\n}" primitive_type (function_declarator "FUN_0003ce60(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  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../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 "int iVar4;" primitive_type identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "uint uVar21;" 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 "uint local_144;" type_identifier 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 "bVar20 = 0;" (assignment_expression "bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    }" { (expression_statement "local_144 = *(uint *)(local_138 + 0x10);" (assignment_expression "local_144 = *(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 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x14) != 0 || local_144 != 0)" ( (binary_expression "*(int *)(local_138 + 0x14) != 0 || local_144 != 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 "local_144 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }" { (expression_statement "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));" (assignment_expression "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" identifier (argument_list "(DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" ( identifier , identifier , (binary_expression "local_138 + 0x68" 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 (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = bfd_errmsg(uVar8);" (assignment_expression "uVar10 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar9 = *(undefined4 *)(local_138 + 0x10);" (assignment_expression "uVar9 = *(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 "uVar11 = 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\'",uVar9,5);" (assignment_expression "uVar11 = 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\'",uVar9,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\'",uVar9,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\'",uVar9,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_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);" (call_expression "FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10)" identifier (argument_list "(uVar11,uVar9,uVar3,uVar8,uVar10)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "local_144 = *(uint *)(local_138 + 0x10);" (assignment_expression "local_144 = *(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 "bVar19 = CARRY4(local_14c,local_144);" (assignment_expression "bVar19 = CARRY4(local_14c,local_144)" identifier = (call_expression "CARRY4(local_14c,local_144)" identifier (argument_list "(local_14c,local_144)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + local_144;" (assignment_expression "local_14c = local_14c + local_144" identifier = (binary_expression "local_14c + local_144" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;" (assignment_expression "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19" identifier = (binary_expression "local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19" (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)bVar19" ( (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 "iVar14 = *(int *)(local_138 + 0x1c);" (assignment_expression "iVar14 = *(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) ))))) ;) (expression_statement "pbVar17 = (byte *)(local_144 + local_138 + 0x68);" (assignment_expression "pbVar17 = (byte *)(local_144 + local_138 + 0x68)" identifier = (cast_expression "(byte *)(local_144 + local_138 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_144 + local_138 + 0x68)" ( (binary_expression "local_144 + local_138 + 0x68" (binary_expression "local_144 + local_138" identifier + identifier) + number_literal) )))) ;) (if_statement "if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }" if (parenthesized_expression "((local_150 < 0) || (uVar2 != 1 || iVar14 != 0))" ( (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar14 != 0)" (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar2 != 1 || iVar14 != 0)" ( (binary_expression "uVar2 != 1 || iVar14 != 0" (binary_expression "uVar2 != 1" identifier != number_literal) || (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }" { comment (expression_statement "FUN_0002be80("../../gas/write.c",0x667,"write_contents");" (call_expression "FUN_0002be80("../../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_0003cff8;" 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_0003cff8;" 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 "FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);" (call_expression "FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17)" identifier (argument_list "(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17)" ( identifier , identifier , identifier , identifier , (cast_expression "(int)(char)*pbVar17" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar17" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar17" * identifier))) ))) ;) (expression_statement "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier (argument_list "(DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = 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 "uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,local_154,uVar3,uVar8,uVar9)" identifier (argument_list "(uVar10,local_154,uVar3,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar19 = CARRY4(local_14c,local_154);" (assignment_expression "bVar19 = 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)bVar19;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar19" identifier = (binary_expression "local_148 + local_150 + (uint)bVar19" (binary_expression "local_148 + local_150" identifier + identifier) + (cast_expression "(uint)bVar19" ( (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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" else (compound_statement "{\n        if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if (local_150 < 0) {\n                    /* WARNING: Subroutine does not return */\n          FUN_0002be80("../../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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }" { comment (expression_statement "FUN_0002be80("../../gas/write.c",0x67d,"write_contents");" (call_expression "FUN_0002be80("../../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 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" if (parenthesized_expression "((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0))" ( (binary_expression "(uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar14 != 0)" ( (binary_expression "uVar2 != 0 || iVar14 != 0" (binary_expression "uVar2 != 0" identifier != number_literal) || (binary_expression "iVar14 != 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          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" { (expression_statement "uVar21 = uVar2;" (assignment_expression "uVar21 = uVar2" identifier = identifier) ;) (if_statement "if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" if (parenthesized_expression "(iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14)" ( (binary_expression "iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14" (binary_expression "iVar14 == 0" identifier == number_literal) && (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar14" (call_expression "(uint)(0x100 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x100 < uVar2)" ( (binary_expression "0x100 < uVar2" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar14" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" { (if_statement "if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" if (parenthesized_expression "(iVar14 == 0 && uVar2 == 1)" ( (binary_expression "iVar14 == 0 && uVar2 == 1" (binary_expression "iVar14 == 0" identifier == number_literal) && (binary_expression "uVar2 == 1" identifier == number_literal)) )) (compound_statement "{\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }" { (expression_statement "uVar5 = 0x100;" (assignment_expression "uVar5 = 0x100" identifier = number_literal) ;) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (expression_statement "pbVar17 = local_11c;" (assignment_expression "pbVar17 = local_11c" identifier = identifier) ;) (for_statement "for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }" for ( (assignment_expression "iVar4 = 0x40" identifier = number_literal) ; (binary_expression "iVar4 != 0" identifier != number_literal) ; (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ) (compound_statement "{\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }" { (expression_statement "*(uint *)pbVar17 = (uint)bVar1 * 0x1010101;" (assignment_expression "*(uint *)pbVar17 = (uint)bVar1 * 0x1010101" (pointer_expression "*(uint *)pbVar17" * (cast_expression "(uint *)pbVar17" ( (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 "pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;" (assignment_expression "pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4" identifier = (binary_expression "pbVar17 + ((uint)bVar20 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar20 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar20 * -2 + 1)" ( (binary_expression "(uint)bVar20 * -2 + 1" (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) }) (else_clause "else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" else (compound_statement "{\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" { (expression_statement "uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);" (assignment_expression "uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14)" identifier = (call_expression "FUN_00059d00(0x100,0,uVar2,iVar14)" identifier (argument_list "(0x100,0,uVar2,iVar14)" ( number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar6 = local_11c;" (assignment_expression "pbVar6 = local_11c" identifier = identifier) ;) (expression_statement "uVar15 = uVar5;" (assignment_expression "uVar15 = uVar5" identifier = identifier) ;) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);" do (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              }" { (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }" while (parenthesized_expression "(uVar2 < 4)" ( (binary_expression "uVar2 < 4" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }" { (if_statement "if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }" if (parenthesized_expression "((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0))" ( (binary_expression "(uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar6 = *pbVar17, (uVar2 & 2) != 0)" ( (comma_expression "*pbVar6 = *pbVar17, (uVar2 & 2) != 0" (assignment_expression "*pbVar6 = *pbVar17" (pointer_expression "*pbVar6" * identifier) = (pointer_expression "*pbVar17" * identifier)) , (binary_expression "(uVar2 & 2) != 0" (parenthesized_expression "(uVar2 & 2)" ( (binary_expression "uVar2 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }" { (expression_statement "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar6 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + (uVar2 - 2))" ( (binary_expression "pbVar6 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(pbVar17 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar17 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar17 + (uVar2 - 2))" ( (binary_expression "pbVar17 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) ))))) ;) })) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" identifier = (binary_expression "pbVar6 + uVar2" identifier + identifier)) ;) (expression_statement "uVar15 = uVar15 - 1;" (assignment_expression "uVar15 = uVar15 - 1" identifier = (binary_expression "uVar15 - 1" identifier - number_literal)) ;) (if_statement "if (uVar15 == 0) goto LAB_0003d249;" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003d249;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;" (assignment_expression "*(undefined4 *)pbVar6 = *(undefined4 *)pbVar17" (pointer_expression "*(undefined4 *)pbVar6" * (cast_expression "(undefined4 *)pbVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)pbVar17" * (cast_expression "(undefined4 *)pbVar17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar6 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + (uVar2 - 4))" ( (binary_expression "pbVar6 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(pbVar17 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar17 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar17 + (uVar2 - 4))" ( (binary_expression "pbVar17 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) ))))) ;) (expression_statement "iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pbVar6 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "pbVar16 = pbVar17 + -iVar4;" (assignment_expression "pbVar16 = pbVar17 + -iVar4" identifier = (binary_expression "pbVar17 + -iVar4" identifier + (unary_expression "-iVar4" - identifier))) ;) (expression_statement "puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }" for ( (assignment_expression "uVar12 = iVar4 + uVar2 >> 2" identifier = (binary_expression "iVar4 + uVar2 >> 2" (binary_expression "iVar4 + uVar2" identifier + identifier) >> number_literal)) ; (binary_expression "uVar12 != 0" identifier != number_literal) ; (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ) (compound_statement "{\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }" { (expression_statement "*puVar18 = *(undefined4 *)pbVar16;" (assignment_expression "*puVar18 = *(undefined4 *)pbVar16" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*(undefined4 *)pbVar16" * (cast_expression "(undefined4 *)pbVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;" (assignment_expression "pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4" identifier = (binary_expression "pbVar16 + ((uint)bVar20 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar20 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar20 * -2 + 1)" ( (binary_expression "(uint)bVar20 * -2 + 1" (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) (expression_statement "puVar18 = puVar18 + (uint)bVar20 * -2 + 1;" (assignment_expression "puVar18 = puVar18 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "puVar18 + (uint)bVar20 * -2 + 1" (binary_expression "puVar18 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar15 = uVar15 - 1;" (assignment_expression "uVar15 = uVar15 - 1" identifier = (binary_expression "uVar15 - 1" identifier - number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" identifier = (binary_expression "pbVar6 + uVar2" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) ;) }))) (labeled_statement "LAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" statement_identifier : (do_statement "do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" do (compound_statement "{\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            }" { (expression_statement "local_134 = local_11c;" (assignment_expression "local_134 = local_11c" identifier = identifier) ;) (expression_statement "iVar4 = (int)uVar5 >> 0x1f;" (assignment_expression "iVar4 = (int)uVar5 >> 0x1f" identifier = (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }" if (parenthesized_expression "((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0)" ( (binary_expression "(SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5)))" ( (binary_expression "SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))" (call_expression "SBORROW4(local_150,iVar4)" identifier (argument_list "(local_150,iVar4)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))" identifier (argument_list "(local_150 - iVar4,(uint)(local_154 < uVar5))" ( (binary_expression "local_150 - iVar4" identifier - identifier) , (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar5)" ( (binary_expression "local_154 < uVar5" identifier < identifier) ))) )))) )) != (binary_expression "(int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0" (cast_expression "(int)((local_150 - iVar4) - (uint)(local_154 < uVar5))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_150 - iVar4) - (uint)(local_154 < uVar5))" ( (binary_expression "(local_150 - iVar4) - (uint)(local_154 < uVar5)" (parenthesized_expression "(local_150 - iVar4)" ( (binary_expression "local_150 - iVar4" identifier - identifier) )) - (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar5)" ( (binary_expression "local_154 < uVar5" identifier < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }" { (expression_statement "uVar5 = local_154;" (assignment_expression "uVar5 = local_154" identifier = identifier) ;) (expression_statement "iVar4 = local_150;" (assignment_expression "iVar4 = local_150" identifier = identifier) ;) })) (expression_statement "uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);" (assignment_expression "uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5)" identifier = (call_expression "(uint)((ulonglong)uVar21 * (ulonglong)uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar21 * (ulonglong)uVar5)" ( (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;" (assignment_expression "iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5" identifier = (binary_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5" (binary_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4" (cast_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20" (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "uVar21 * iVar4" identifier * identifier)) + (binary_expression "iVar14 * uVar5" identifier * identifier))) ;) (expression_statement "iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);" (assignment_expression "iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" identifier (argument_list "(DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    /* WARNING: Subroutine does not return */\n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }" { (expression_statement "uVar8 = bfd_get_error(uVar5,iVar4);" (assignment_expression "uVar8 = bfd_get_error(uVar5,iVar4)" identifier = (call_expression "bfd_get_error(uVar5,iVar4)" identifier (argument_list "(uVar5,iVar4)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "iVar14 = uVar2 * uVar5;" (assignment_expression "iVar14 = uVar2 * uVar5" identifier = (binary_expression "uVar2 * uVar5" identifier * identifier)) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = 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\'",iVar14,5);" (assignment_expression "uVar10 = 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\'",iVar14,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\'",iVar14,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\'",iVar14,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_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9)" identifier (argument_list "(uVar10,iVar14,uVar3,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar19 = CARRY4(local_14c,uVar15);" (assignment_expression "bVar19 = CARRY4(local_14c,uVar15)" identifier = (call_expression "CARRY4(local_14c,uVar15)" identifier (argument_list "(local_14c,uVar15)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar15;" (assignment_expression "local_14c = local_14c + uVar15" identifier = (binary_expression "local_14c + uVar15" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar13 + (uint)bVar19;" (assignment_expression "local_148 = local_148 + iVar13 + (uint)bVar19" identifier = (binary_expression "local_148 + iVar13 + (uint)bVar19" (binary_expression "local_148 + iVar13" identifier + identifier) + (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar19 = local_154 < uVar5;" (assignment_expression "bVar19 = local_154 < uVar5" identifier = (binary_expression "local_154 < uVar5" identifier < identifier)) ;) (expression_statement "local_154 = local_154 - uVar5;" (assignment_expression "local_154 = local_154 - uVar5" identifier = (binary_expression "local_154 - uVar5" identifier - identifier)) ;) (expression_statement "local_150 = (local_150 - iVar4) - (uint)bVar19;" (assignment_expression "local_150 = (local_150 - iVar4) - (uint)bVar19" identifier = (binary_expression "(local_150 - iVar4) - (uint)bVar19" (parenthesized_expression "(local_150 - iVar4)" ( (binary_expression "local_150 - iVar4" identifier - identifier) )) - (cast_expression "(uint)bVar19" ( (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              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" else (compound_statement "{\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" { (do_statement "do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);" do (compound_statement "{\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            }" { (expression_statement "iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);" (assignment_expression "iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" identifier (argument_list "(DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = 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 "uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9)" identifier (argument_list "(uVar10,uVar2,uVar3,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar19 = CARRY4(local_14c,uVar21);" (assignment_expression "bVar19 = CARRY4(local_14c,uVar21)" identifier = (call_expression "CARRY4(local_14c,uVar21)" identifier (argument_list "(local_14c,uVar21)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar21;" (assignment_expression "local_14c = local_14c + uVar21" identifier = (binary_expression "local_14c + uVar21" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar14 + (uint)bVar19;" (assignment_expression "local_148 = local_148 + iVar14 + (uint)bVar19" identifier = (binary_expression "local_148 + iVar14 + (uint)bVar19" (binary_expression "local_148 + iVar14" identifier + identifier) + (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar19 = local_154 != 0;" (assignment_expression "bVar19 = 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)bVar19;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar19" identifier = (binary_expression "local_150 + -1 + (uint)bVar19" (binary_expression "local_150 + -1" identifier + number_literal) + (cast_expression "(uint)bVar19" ( (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_0003cff8:\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_0002be80("../../gas/write.c",0x64f,"write_contents");" (call_expression "FUN_0002be80("../../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  offsetT count;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  int *piVar17;\n  bool bVar18;\n  byte bVar19;\n  uint uVar20;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  fragS *local_138;\n  char *local_134;\n  char buf [256];\n  \n  bVar19 = 0;\n                    /* WARNING: Load size is inaccurate */\n  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0)) {\n    return;\n  }\n  if ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      local_144 = (uint)local_138->fr_fix;\n      iVar13 = *(int *)((int)&local_138->fr_fix + 4);\n      if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }\n      uVar2 = (uint)local_138->fr_var;\n      iVar13 = *(int *)((int)&local_138->fr_var + 4);\n      local_150 = *(int *)((int)&local_138->fr_offset + 4);\n      local_154 = (uint)local_138->fr_offset;\n      count = local_138->fr_offset;\n      pcVar15 = local_138->fr_literal + local_144;\n      if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }\n      if (local_138 == (frag *)0x0) {\n        return;\n      }\n    } while ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop));\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  offsetT count;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  int *piVar17;\n  bool bVar18;\n  byte bVar19;\n  uint uVar20;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  fragS *local_138;\n  char *local_134;\n  char buf [256];\n  \n  bVar19 = 0;\n                    /* WARNING: Load size is inaccurate */\n  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0)) {\n    return;\n  }\n  if ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      local_144 = (uint)local_138->fr_fix;\n      iVar13 = *(int *)((int)&local_138->fr_fix + 4);\n      if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }\n      uVar2 = (uint)local_138->fr_var;\n      iVar13 = *(int *)((int)&local_138->fr_var + 4);\n      local_150 = *(int *)((int)&local_138->fr_offset + 4);\n      local_154 = (uint)local_138->fr_offset;\n      count = local_138->fr_offset;\n      pcVar15 = local_138->fr_literal + local_144;\n      if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }\n      if (local_138 == (frag *)0x0) {\n        return;\n      }\n    } while ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop));\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  offsetT count;\n  int iVar3;\n  char *pcVar4;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  char *pcVar9;\n  undefined4 uVar10;\n  uint uVar11;\n  int iVar12;\n  int iVar13;\n  uint uVar14;\n  char *pcVar15;\n  undefined4 *puVar16;\n  int *piVar17;\n  bool bVar18;\n  byte bVar19;\n  uint uVar20;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  fragS *local_138;\n  char *local_134;\n  char buf [256];\n  \n  bVar19 = 0;\n                    /* WARNING: Load size is inaccurate */\n  if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0)) {\n    return;\n  }\n  if ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      local_144 = (uint)local_138->fr_fix;\n      iVar13 = *(int *)((int)&local_138->fr_fix + 4);\n      if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }\n      uVar2 = (uint)local_138->fr_var;\n      iVar13 = *(int *)((int)&local_138->fr_var + 4);\n      local_150 = *(int *)((int)&local_138->fr_offset + 4);\n      local_154 = (uint)local_138->fr_offset;\n      count = local_138->fr_offset;\n      pcVar15 = local_138->fr_literal + local_144;\n      if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }\n      if (local_138 == (frag *)0x0) {\n        return;\n      }\n    } while ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop));\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 "offsetT count;" type_identifier identifier ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "char *pcVar9;" primitive_type (pointer_declarator "*pcVar9" * identifier) ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "uint uVar11;" type_identifier identifier ;) (declaration "int iVar12;" primitive_type identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "uint uVar14;" type_identifier identifier ;) (declaration "char *pcVar15;" primitive_type (pointer_declarator "*pcVar15" * identifier) ;) (declaration "undefined4 *puVar16;" type_identifier (pointer_declarator "*puVar16" * identifier) ;) (declaration "int *piVar17;" primitive_type (pointer_declarator "*piVar17" * identifier) ;) (declaration "bool bVar18;" primitive_type identifier ;) (declaration "byte bVar19;" type_identifier identifier ;) (declaration "uint uVar20;" 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 "uint local_144;" type_identifier identifier ;) (declaration "fragS *local_138;" type_identifier (pointer_declarator "*local_138" * 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 "bVar19 = 0;" (assignment_expression "bVar19 = 0" identifier = number_literal) ;) comment (if_statement "if ((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0)) {\n    return;\n  }" if (parenthesized_expression "((((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0))" ( (binary_expression "(((undefined4 *)sec->userdata == (undefined4 *)0x0) || ((sec->flags & 0x100) == 0)) ||\n     (local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0)" (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 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0)" ( (comma_expression "local_138 = (fragS *)**sec->userdata, local_138 == (fragS *)0x0" (assignment_expression "local_138 = (fragS *)**sec->userdata" identifier = (cast_expression "(fragS *)**sec->userdata" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "**sec->userdata" * (pointer_expression "*sec->userdata" * (field_expression "sec->userdata" identifier -> field_identifier))))) , (binary_expression "local_138 == (fragS *)0x0" identifier == (cast_expression "(fragS *)0x0" ( (type_descriptor "fragS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (if_statement "if ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop)) {\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      local_144 = (uint)local_138->fr_fix;\n      iVar13 = *(int *)((int)&local_138->fr_fix + 4);\n      if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }\n      uVar2 = (uint)local_138->fr_var;\n      iVar13 = *(int *)((int)&local_138->fr_var + 4);\n      local_150 = *(int *)((int)&local_138->fr_offset + 4);\n      local_154 = (uint)local_138->fr_offset;\n      count = local_138->fr_offset;\n      pcVar15 = local_138->fr_literal + local_144;\n      if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }\n      if (local_138 == (frag *)0x0) {\n        return;\n      }\n    } while ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop));\n  }" if (parenthesized_expression "((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop))" ( (binary_expression "(local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop)" (parenthesized_expression "(local_138->fr_type == rs_fill)" ( (binary_expression "local_138->fr_type == rs_fill" (field_expression "local_138->fr_type" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "(local_138->fr_type == rs_fill_nop)" ( (binary_expression "local_138->fr_type == rs_fill_nop" (field_expression "local_138->fr_type" identifier -> field_identifier) == identifier) ))) )) (compound_statement "{\n    local_14c = 0;\n    local_148 = 0;\n    do {\n      local_144 = (uint)local_138->fr_fix;\n      iVar13 = *(int *)((int)&local_138->fr_fix + 4);\n      if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }\n      uVar2 = (uint)local_138->fr_var;\n      iVar13 = *(int *)((int)&local_138->fr_var + 4);\n      local_150 = *(int *)((int)&local_138->fr_offset + 4);\n      local_154 = (uint)local_138->fr_offset;\n      count = local_138->fr_offset;\n      pcVar15 = local_138->fr_literal + local_144;\n      if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }\n      if (local_138 == (frag *)0x0) {\n        return;\n      }\n    } while ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop));\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      local_144 = (uint)local_138->fr_fix;\n      iVar13 = *(int *)((int)&local_138->fr_fix + 4);\n      if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }\n      uVar2 = (uint)local_138->fr_var;\n      iVar13 = *(int *)((int)&local_138->fr_var + 4);\n      local_150 = *(int *)((int)&local_138->fr_offset + 4);\n      local_154 = (uint)local_138->fr_offset;\n      count = local_138->fr_offset;\n      pcVar15 = local_138->fr_literal + local_144;\n      if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }\n      if (local_138 == (frag *)0x0) {\n        return;\n      }\n    } while ((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop));" do (compound_statement "{\n      local_144 = (uint)local_138->fr_fix;\n      iVar13 = *(int *)((int)&local_138->fr_fix + 4);\n      if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }\n      uVar2 = (uint)local_138->fr_var;\n      iVar13 = *(int *)((int)&local_138->fr_var + 4);\n      local_150 = *(int *)((int)&local_138->fr_offset + 4);\n      local_154 = (uint)local_138->fr_offset;\n      count = local_138->fr_offset;\n      pcVar15 = local_138->fr_literal + local_144;\n      if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }\n      if (local_138 == (frag *)0x0) {\n        return;\n      }\n    }" { (expression_statement "local_144 = (uint)local_138->fr_fix;" (assignment_expression "local_144 = (uint)local_138->fr_fix" identifier = (cast_expression "(uint)local_138->fr_fix" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_138->fr_fix" identifier -> field_identifier))) ;) (expression_statement "iVar13 = *(int *)((int)&local_138->fr_fix + 4);" (assignment_expression "iVar13 = *(int *)((int)&local_138->fr_fix + 4)" identifier = (pointer_expression "*(int *)((int)&local_138->fr_fix + 4)" * (cast_expression "(int *)((int)&local_138->fr_fix + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_138->fr_fix + 4)" ( (binary_expression "(int)&local_138->fr_fix + 4" (cast_expression "(int)&local_138->fr_fix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_138->fr_fix" & (field_expression "local_138->fr_fix" identifier -> field_identifier))) + number_literal) ))))) ;) (if_statement "if (iVar13 != 0 || local_144 != 0) {\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }" if (parenthesized_expression "(iVar13 != 0 || local_144 != 0)" ( (binary_expression "iVar13 != 0 || local_144 != 0" (binary_expression "iVar13 != 0" identifier != number_literal) || (binary_expression "local_144 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }\n        local_144 = (uint)local_138->fr_fix;\n        bVar18 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;\n      }" { (expression_statement "iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           );" (assignment_expression "iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           )" identifier = (call_expression "bfd_set_section_contents\n                           (stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           )" identifier (argument_list "(stdoutput,sec,local_138->fr_literal,local_14c,local_148,local_144,iVar13\n                           )" ( identifier , identifier , (field_expression "local_138->fr_literal" identifier -> field_identifier) , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          uVar8 = (undefined4)local_138->fr_fix;\n          pcVar9 = (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\'",uVar8,5);\n                    /* WARNING: Subroutine does not return */\n          as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);\n        }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = bfd_errmsg(uVar8);" (assignment_expression "uVar10 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "pcVar15 = stdoutput->filename;" (assignment_expression "pcVar15 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = sec->name;" (assignment_expression "pcVar4 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "uVar8 = (undefined4)local_138->fr_fix;" (assignment_expression "uVar8 = (undefined4)local_138->fr_fix" identifier = (cast_expression "(undefined4)local_138->fr_fix" ( (type_descriptor "undefined4" type_identifier) ) (field_expression "local_138->fr_fix" identifier -> field_identifier))) ;) (expression_statement "pcVar9 = (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\'",uVar8,5);" (assignment_expression "pcVar9 = (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\'",uVar8,5)" 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\'",uVar8,5)" ( (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\'",uVar8,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\'",uVar8,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 "as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10);" (call_expression "as_fatal(pcVar9,uVar8,pcVar4,pcVar15,uVar10)" identifier (argument_list "(pcVar9,uVar8,pcVar4,pcVar15,uVar10)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "local_144 = (uint)local_138->fr_fix;" (assignment_expression "local_144 = (uint)local_138->fr_fix" identifier = (cast_expression "(uint)local_138->fr_fix" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_138->fr_fix" identifier -> field_identifier))) ;) (expression_statement "bVar18 = CARRY4(local_14c,local_144);" (assignment_expression "bVar18 = CARRY4(local_14c,local_144)" identifier = (call_expression "CARRY4(local_14c,local_144)" identifier (argument_list "(local_14c,local_144)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + local_144;" (assignment_expression "local_14c = local_14c + local_144" identifier = (binary_expression "local_14c + local_144" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18;" (assignment_expression "local_148 = local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18" identifier = (binary_expression "local_148 + *(int *)((int)&local_138->fr_fix + 4) + (uint)bVar18" (binary_expression "local_148 + *(int *)((int)&local_138->fr_fix + 4)" identifier + (pointer_expression "*(int *)((int)&local_138->fr_fix + 4)" * (cast_expression "(int *)((int)&local_138->fr_fix + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_138->fr_fix + 4)" ( (binary_expression "(int)&local_138->fr_fix + 4" (cast_expression "(int)&local_138->fr_fix" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_138->fr_fix" & (field_expression "local_138->fr_fix" identifier -> field_identifier))) + number_literal) ))))) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) })) (expression_statement "uVar2 = (uint)local_138->fr_var;" (assignment_expression "uVar2 = (uint)local_138->fr_var" identifier = (cast_expression "(uint)local_138->fr_var" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_138->fr_var" identifier -> field_identifier))) ;) (expression_statement "iVar13 = *(int *)((int)&local_138->fr_var + 4);" (assignment_expression "iVar13 = *(int *)((int)&local_138->fr_var + 4)" identifier = (pointer_expression "*(int *)((int)&local_138->fr_var + 4)" * (cast_expression "(int *)((int)&local_138->fr_var + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_138->fr_var + 4)" ( (binary_expression "(int)&local_138->fr_var + 4" (cast_expression "(int)&local_138->fr_var" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_138->fr_var" & (field_expression "local_138->fr_var" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "local_150 = *(int *)((int)&local_138->fr_offset + 4);" (assignment_expression "local_150 = *(int *)((int)&local_138->fr_offset + 4)" identifier = (pointer_expression "*(int *)((int)&local_138->fr_offset + 4)" * (cast_expression "(int *)((int)&local_138->fr_offset + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&local_138->fr_offset + 4)" ( (binary_expression "(int)&local_138->fr_offset + 4" (cast_expression "(int)&local_138->fr_offset" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&local_138->fr_offset" & (field_expression "local_138->fr_offset" identifier -> field_identifier))) + number_literal) ))))) ;) (expression_statement "local_154 = (uint)local_138->fr_offset;" (assignment_expression "local_154 = (uint)local_138->fr_offset" identifier = (cast_expression "(uint)local_138->fr_offset" ( (type_descriptor "uint" type_identifier) ) (field_expression "local_138->fr_offset" identifier -> field_identifier))) ;) (expression_statement "count = local_138->fr_offset;" (assignment_expression "count = local_138->fr_offset" identifier = (field_expression "local_138->fr_offset" identifier -> field_identifier)) ;) (expression_statement "pcVar15 = local_138->fr_literal + local_144;" (assignment_expression "pcVar15 = local_138->fr_literal + local_144" identifier = (binary_expression "local_138->fr_literal + local_144" (field_expression "local_138->fr_literal" identifier -> field_identifier) + identifier)) ;) (if_statement "if (local_138->fr_type == rs_fill_nop) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\n      }" if (parenthesized_expression "(local_138->fr_type == rs_fill_nop)" ( (binary_expression "local_138->fr_type == rs_fill_nop" (field_expression "local_138->fr_type" identifier -> field_identifier) == identifier) )) (compound_statement "{\n        if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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_0003cff8;\n        pcVar4 = (char *)xmalloc(local_154);\n        i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);\n        iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);\n        if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }\n        bVar18 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar18;\n        free(pcVar4);\n        local_138 = local_138->fr_next;\n      }" { (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar13 != 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 || iVar13 != 0))" ( (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar13 != 0)" (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar2 != 1 || iVar13 != 0)" ( (binary_expression "uVar2 != 1 || iVar13 != 0" (binary_expression "uVar2 != 1" identifier != number_literal) || (binary_expression "iVar13 != 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_0003cff8;" 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_0003cff8;" goto statement_identifier ;)) (expression_statement "pcVar4 = (char *)xmalloc(local_154);" (assignment_expression "pcVar4 = (char *)xmalloc(local_154)" identifier = (cast_expression "(char *)xmalloc(local_154)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "xmalloc(local_154)" identifier (argument_list "(local_154)" ( identifier ))))) ;) (expression_statement "i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15);" (call_expression "i386_generate_nops(local_138,pcVar4,count,(int)*pcVar15)" identifier (argument_list "(local_138,pcVar4,count,(int)*pcVar15)" ( identifier , identifier , identifier , (cast_expression "(int)*pcVar15" ( (type_descriptor "int" primitive_type) ) (pointer_expression "*pcVar15" * identifier)) ))) ;) (expression_statement "iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar13 = bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150)" identifier = (call_expression "bfd_set_section_contents\n                           (stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150)" identifier (argument_list "(stdoutput,sec,pcVar4,local_14c,local_148,local_154,local_150)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar13 == 0) {\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }" if (parenthesized_expression "(iVar13 == 0)" ( (binary_expression "iVar13 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar8 = bfd_errmsg(uVar8);\n          pcVar15 = stdoutput->filename;\n          pcVar4 = sec->name;\n          pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);\n        }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = bfd_errmsg(uVar8);" (assignment_expression "uVar8 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "pcVar15 = stdoutput->filename;" (assignment_expression "pcVar15 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = sec->name;" (assignment_expression "pcVar4 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (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 "pcVar9 = (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(pcVar9,local_154,pcVar4,pcVar15,uVar8);" (call_expression "as_fatal(pcVar9,local_154,pcVar4,pcVar15,uVar8)" identifier (argument_list "(pcVar9,local_154,pcVar4,pcVar15,uVar8)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar18 = CARRY4(local_14c,local_154);" (assignment_expression "bVar18 = 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)bVar18;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar18" identifier = (binary_expression "local_148 + local_150 + (uint)bVar18" (binary_expression "local_148 + local_150" identifier + identifier) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "free(pcVar4);" (call_expression "free(pcVar4)" identifier (argument_list "(pcVar4)" ( identifier ))) ;) (expression_statement "local_138 = local_138->fr_next;" (assignment_expression "local_138 = local_138->fr_next" identifier = (field_expression "local_138->fr_next" identifier -> field_identifier)) ;) }) (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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = local_138->fr_next;\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 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" if (parenthesized_expression "((uVar2 != 0 || iVar13 != 0) && (local_154 != 0 || local_150 != 0))" ( (binary_expression "(uVar2 != 0 || iVar13 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar13 != 0)" ( (binary_expression "uVar2 != 0 || iVar13 != 0" (binary_expression "uVar2 != 0" identifier != number_literal) || (binary_expression "iVar13 != 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          uVar20 = uVar2;\n          if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" { (expression_statement "uVar20 = uVar2;" (assignment_expression "uVar20 = uVar2" identifier = identifier) ;) (if_statement "if (iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13) {\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }" if (parenthesized_expression "(iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13)" ( (binary_expression "iVar13 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar13" (binary_expression "iVar13 == 0" identifier == number_literal) && (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar13" (call_expression "(uint)(0x100 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x100 < uVar2)" ( (binary_expression "0x100 < uVar2" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar13" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" { (if_statement "if (iVar13 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }\n            else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }" if (parenthesized_expression "(iVar13 == 0 && uVar2 == 1)" ( (binary_expression "iVar13 == 0 && uVar2 == 1" (binary_expression "iVar13 == 0" identifier == number_literal) && (binary_expression "uVar2 == 1" identifier == number_literal)) )) (compound_statement "{\n              uVar5 = 0x100;\n              bVar1 = *pcVar15;\n              piVar17 = (int *)buf;\n              for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }\n            }" { (expression_statement "uVar5 = 0x100;" (assignment_expression "uVar5 = 0x100" identifier = number_literal) ;) (expression_statement "bVar1 = *pcVar15;" (assignment_expression "bVar1 = *pcVar15" identifier = (pointer_expression "*pcVar15" * identifier)) ;) (expression_statement "piVar17 = (int *)buf;" (assignment_expression "piVar17 = (int *)buf" identifier = (cast_expression "(int *)buf" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier)) ;) (for_statement "for (iVar3 = 0x40; iVar3 != 0; iVar3 = iVar3 + -1) {\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }" for ( (assignment_expression "iVar3 = 0x40" identifier = number_literal) ; (binary_expression "iVar3 != 0" identifier != number_literal) ; (assignment_expression "iVar3 = iVar3 + -1" identifier = (binary_expression "iVar3 + -1" identifier + number_literal)) ) (compound_statement "{\n                *piVar17 = (uint)bVar1 * 0x1010101;\n                piVar17 = piVar17 + (uint)bVar19 * -2 + 1;\n              }" { (expression_statement "*piVar17 = (uint)bVar1 * 0x1010101;" (assignment_expression "*piVar17 = (uint)bVar1 * 0x1010101" (pointer_expression "*piVar17" * identifier) = (binary_expression "(uint)bVar1 * 0x1010101" (cast_expression "(uint)bVar1" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) ;) (expression_statement "piVar17 = piVar17 + (uint)bVar19 * -2 + 1;" (assignment_expression "piVar17 = piVar17 + (uint)bVar19 * -2 + 1" identifier = (binary_expression "piVar17 + (uint)bVar19 * -2 + 1" (binary_expression "piVar17 + (uint)bVar19 * -2" identifier + (binary_expression "(uint)bVar19 * -2" (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) }) (else_clause "else {\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }" else (compound_statement "{\n              uVar5 = __udivdi3(0x100,0,uVar2,iVar13);\n              pbVar6 = (byte *)buf;\n              uVar14 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);\n            }" { (expression_statement "uVar5 = __udivdi3(0x100,0,uVar2,iVar13);" (assignment_expression "uVar5 = __udivdi3(0x100,0,uVar2,iVar13)" identifier = (call_expression "__udivdi3(0x100,0,uVar2,iVar13)" identifier (argument_list "(0x100,0,uVar2,iVar13)" ( number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar6 = (byte *)buf;" (assignment_expression "pbVar6 = (byte *)buf" identifier = (cast_expression "(byte *)buf" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "uVar14 = uVar5;" (assignment_expression "uVar14 = uVar5" identifier = identifier) ;) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar14 != 0);" do (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));\n                iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pcVar4 = pcVar15 + -iVar3;\n                puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }\n                uVar14 = uVar14 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              }" { (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }" while (parenthesized_expression "(uVar2 < 4)" ( (binary_expression "uVar2 < 4" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar14 = uVar14 - 1;\n                  if (uVar14 == 0) goto LAB_0003d249;\n                }" { (if_statement "if ((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }" if (parenthesized_expression "((uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0))" ( (binary_expression "(uVar2 != 0) && (*pbVar6 = *pcVar15, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar6 = *pcVar15, (uVar2 & 2) != 0)" ( (comma_expression "*pbVar6 = *pcVar15, (uVar2 & 2) != 0" (assignment_expression "*pbVar6 = *pcVar15" (pointer_expression "*pbVar6" * identifier) = (pointer_expression "*pcVar15" * identifier)) , (binary_expression "(uVar2 & 2) != 0" (parenthesized_expression "(uVar2 & 2)" ( (binary_expression "uVar2 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));\n                  }" { (expression_statement "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pcVar15 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar6 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + (uVar2 - 2))" ( (binary_expression "pbVar6 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(pcVar15 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pcVar15 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + (uVar2 - 2))" ( (binary_expression "pcVar15 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) ))))) ;) })) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" identifier = (binary_expression "pbVar6 + uVar2" identifier + identifier)) ;) (expression_statement "uVar14 = uVar14 - 1;" (assignment_expression "uVar14 = uVar14 - 1" identifier = (binary_expression "uVar14 - 1" identifier - number_literal)) ;) (if_statement "if (uVar14 == 0) goto LAB_0003d249;" if (parenthesized_expression "(uVar14 == 0)" ( (binary_expression "uVar14 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003d249;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)pbVar6 = *(undefined4 *)pcVar15;" (assignment_expression "*(undefined4 *)pbVar6 = *(undefined4 *)pcVar15" (pointer_expression "*(undefined4 *)pbVar6" * (cast_expression "(undefined4 *)pbVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)pcVar15" * (cast_expression "(undefined4 *)pcVar15" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pcVar15 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar6 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + (uVar2 - 4))" ( (binary_expression "pbVar6 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(pcVar15 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pcVar15 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pcVar15 + (uVar2 - 4))" ( (binary_expression "pcVar15 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) ))))) ;) (expression_statement "iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "iVar3 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pbVar6 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "pcVar4 = pcVar15 + -iVar3;" (assignment_expression "pcVar4 = pcVar15 + -iVar3" identifier = (binary_expression "pcVar15 + -iVar3" identifier + (unary_expression "-iVar3" - identifier))) ;) (expression_statement "puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "puVar16 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar11 = iVar3 + uVar2 >> 2; uVar11 != 0; uVar11 = uVar11 - 1) {\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }" for ( (assignment_expression "uVar11 = iVar3 + uVar2 >> 2" identifier = (binary_expression "iVar3 + uVar2 >> 2" (binary_expression "iVar3 + uVar2" identifier + identifier) >> number_literal)) ; (binary_expression "uVar11 != 0" identifier != number_literal) ; (assignment_expression "uVar11 = uVar11 - 1" identifier = (binary_expression "uVar11 - 1" identifier - number_literal)) ) (compound_statement "{\n                  *puVar16 = *(undefined4 *)pcVar4;\n                  pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;\n                  puVar16 = puVar16 + (uint)bVar19 * -2 + 1;\n                }" { (expression_statement "*puVar16 = *(undefined4 *)pcVar4;" (assignment_expression "*puVar16 = *(undefined4 *)pcVar4" (pointer_expression "*puVar16" * identifier) = (pointer_expression "*(undefined4 *)pcVar4" * (cast_expression "(undefined4 *)pcVar4" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4;" (assignment_expression "pcVar4 = pcVar4 + ((uint)bVar19 * -2 + 1) * 4" identifier = (binary_expression "pcVar4 + ((uint)bVar19 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar19 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar19 * -2 + 1)" ( (binary_expression "(uint)bVar19 * -2 + 1" (binary_expression "(uint)bVar19 * -2" (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) (expression_statement "puVar16 = puVar16 + (uint)bVar19 * -2 + 1;" (assignment_expression "puVar16 = puVar16 + (uint)bVar19 * -2 + 1" identifier = (binary_expression "puVar16 + (uint)bVar19 * -2 + 1" (binary_expression "puVar16 + (uint)bVar19 * -2" identifier + (binary_expression "(uint)bVar19 * -2" (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar14 = uVar14 - 1;" (assignment_expression "uVar14 = uVar14 - 1" identifier = (binary_expression "uVar14 - 1" identifier - number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" identifier = (binary_expression "pbVar6 + uVar2" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar14 != 0)" ( (binary_expression "uVar14 != 0" identifier != number_literal) )) ;) }))) (labeled_statement "LAB_0003d249:\n            do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" statement_identifier : (do_statement "do {\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" do (compound_statement "{\n              local_134 = buf;\n              iVar3 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }\n              uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);\n              iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar14);\n              local_14c = local_14c + uVar14;\n              local_148 = local_148 + iVar12 + (uint)bVar18;\n              bVar18 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar3) - (uint)bVar18;\n            }" { (expression_statement "local_134 = buf;" (assignment_expression "local_134 = buf" identifier = identifier) ;) (expression_statement "iVar3 = (int)uVar5 >> 0x1f;" (assignment_expression "iVar3 = (int)uVar5 >> 0x1f" identifier = (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }" if (parenthesized_expression "((SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0)" ( (binary_expression "(SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5)))" ( (binary_expression "SBORROW4(local_150,iVar3) !=\n                  SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))" (call_expression "SBORROW4(local_150,iVar3)" identifier (argument_list "(local_150,iVar3)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_150 - iVar3,(uint)(local_154 < uVar5))" identifier (argument_list "(local_150 - iVar3,(uint)(local_154 < uVar5))" ( (binary_expression "local_150 - iVar3" identifier - identifier) , (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar5)" ( (binary_expression "local_154 < uVar5" identifier < identifier) ))) )))) )) != (binary_expression "(int)((local_150 - iVar3) - (uint)(local_154 < uVar5)) < 0" (cast_expression "(int)((local_150 - iVar3) - (uint)(local_154 < uVar5))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_150 - iVar3) - (uint)(local_154 < uVar5))" ( (binary_expression "(local_150 - iVar3) - (uint)(local_154 < uVar5)" (parenthesized_expression "(local_150 - iVar3)" ( (binary_expression "local_150 - iVar3" identifier - identifier) )) - (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar5)" ( (binary_expression "local_154 < uVar5" identifier < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n                uVar5 = local_154;\n                iVar3 = local_150;\n              }" { (expression_statement "uVar5 = local_154;" (assignment_expression "uVar5 = local_154" identifier = identifier) ;) (expression_statement "iVar3 = local_150;" (assignment_expression "iVar3 = local_150" identifier = identifier) ;) })) (expression_statement "uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5);" (assignment_expression "uVar14 = (uint)((ulonglong)uVar20 * (ulonglong)uVar5)" identifier = (call_expression "(uint)((ulonglong)uVar20 * (ulonglong)uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar20 * (ulonglong)uVar5)" ( (binary_expression "(ulonglong)uVar20 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5;" (assignment_expression "iVar12 = (int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5" identifier = (binary_expression "(int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3 + iVar13 * uVar5" (binary_expression "(int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20) +\n                       uVar20 * iVar3" (cast_expression "(int)((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20)" ( (binary_expression "(ulonglong)uVar20 * (ulonglong)uVar5 >> 0x20" (binary_expression "(ulonglong)uVar20 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar20" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "uVar20 * iVar3" identifier * identifier)) + (binary_expression "iVar13 * uVar5" identifier * identifier))) ;) (expression_statement "iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12);" (assignment_expression "iVar7 = bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12)" identifier = (call_expression "bfd_set_section_contents\n                                (stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12)" identifier (argument_list "(stdoutput,sec,local_134,local_14c,local_148,uVar14,iVar12)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar8 = bfd_get_error(uVar5,iVar3);\n                uVar8 = bfd_errmsg(uVar8);\n                iVar13 = uVar2 * uVar5;\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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                                            iVar13,5);\n                    /* WARNING: Subroutine does not return */\n                as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8);\n              }" { (expression_statement "uVar8 = bfd_get_error(uVar5,iVar3);" (assignment_expression "uVar8 = bfd_get_error(uVar5,iVar3)" identifier = (call_expression "bfd_get_error(uVar5,iVar3)" identifier (argument_list "(uVar5,iVar3)" ( identifier , identifier )))) ;) (expression_statement "uVar8 = bfd_errmsg(uVar8);" (assignment_expression "uVar8 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "iVar13 = uVar2 * uVar5;" (assignment_expression "iVar13 = uVar2 * uVar5" identifier = (binary_expression "uVar2 * uVar5" identifier * identifier)) ;) (expression_statement "pcVar15 = stdoutput->filename;" (assignment_expression "pcVar15 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = sec->name;" (assignment_expression "pcVar4 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (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                                            iVar13,5);" (assignment_expression "pcVar9 = (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                                            iVar13,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                                            iVar13,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                                            iVar13,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                                            iVar13,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(pcVar9,iVar13,pcVar4,pcVar15,uVar8);" (call_expression "as_fatal(pcVar9,iVar13,pcVar4,pcVar15,uVar8)" identifier (argument_list "(pcVar9,iVar13,pcVar4,pcVar15,uVar8)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar18 = CARRY4(local_14c,uVar14);" (assignment_expression "bVar18 = CARRY4(local_14c,uVar14)" identifier = (call_expression "CARRY4(local_14c,uVar14)" identifier (argument_list "(local_14c,uVar14)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar14;" (assignment_expression "local_14c = local_14c + uVar14" identifier = (binary_expression "local_14c + uVar14" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar12 + (uint)bVar18;" (assignment_expression "local_148 = local_148 + iVar12 + (uint)bVar18" identifier = (binary_expression "local_148 + iVar12 + (uint)bVar18" (binary_expression "local_148 + iVar12" identifier + identifier) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar18 = local_154 < uVar5;" (assignment_expression "bVar18 = local_154 < uVar5" identifier = (binary_expression "local_154 < uVar5" identifier < identifier)) ;) (expression_statement "local_154 = local_154 - uVar5;" (assignment_expression "local_154 = local_154 - uVar5" identifier = (binary_expression "local_154 - uVar5" identifier - identifier)) ;) (expression_statement "local_150 = (local_150 - iVar3) - (uint)bVar18;" (assignment_expression "local_150 = (local_150 - iVar3) - (uint)bVar18" identifier = (binary_expression "(local_150 - iVar3) - (uint)bVar18" (parenthesized_expression "(local_150 - iVar3)" ( (binary_expression "local_150 - iVar3" identifier - identifier) )) - (cast_expression "(uint)bVar18" ( (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              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }" else (compound_statement "{\n            do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);\n          }" { (do_statement "do {\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            } while (local_150 != 0 || local_154 != 0);" do (compound_statement "{\n              iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);\n              if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }\n              bVar18 = CARRY4(local_14c,uVar20);\n              local_14c = local_14c + uVar20;\n              local_148 = local_148 + iVar13 + (uint)bVar18;\n              bVar18 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar18;\n            }" { (expression_statement "iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13);" (assignment_expression "iVar3 = bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13)" identifier = (call_expression "bfd_set_section_contents\n                                (stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13)" identifier (argument_list "(stdoutput,sec,pcVar15,local_14c,local_148,uVar20,iVar13)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar8 = bfd_get_error();\n                uVar8 = bfd_errmsg(uVar8);\n                pcVar15 = stdoutput->filename;\n                pcVar4 = sec->name;\n                pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);\n              }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar8 = bfd_errmsg(uVar8);" (assignment_expression "uVar8 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "pcVar15 = stdoutput->filename;" (assignment_expression "pcVar15 = stdoutput->filename" identifier = (field_expression "stdoutput->filename" identifier -> field_identifier)) ;) (expression_statement "pcVar4 = sec->name;" (assignment_expression "pcVar4 = sec->name" identifier = (field_expression "sec->name" identifier -> field_identifier)) ;) (expression_statement "pcVar9 = (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 "pcVar9 = (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(pcVar9,uVar2,pcVar4,pcVar15,uVar8);" (call_expression "as_fatal(pcVar9,uVar2,pcVar4,pcVar15,uVar8)" identifier (argument_list "(pcVar9,uVar2,pcVar4,pcVar15,uVar8)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar18 = CARRY4(local_14c,uVar20);" (assignment_expression "bVar18 = CARRY4(local_14c,uVar20)" identifier = (call_expression "CARRY4(local_14c,uVar20)" identifier (argument_list "(local_14c,uVar20)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar20;" (assignment_expression "local_14c = local_14c + uVar20" identifier = (binary_expression "local_14c + uVar20" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar13 + (uint)bVar18;" (assignment_expression "local_148 = local_148 + iVar13 + (uint)bVar18" identifier = (binary_expression "local_148 + iVar13 + (uint)bVar18" (binary_expression "local_148 + iVar13" identifier + identifier) + (cast_expression "(uint)bVar18" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar18 = local_154 != 0;" (assignment_expression "bVar18 = 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)bVar18;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar18" identifier = (binary_expression "local_150 + -1 + (uint)bVar18" (binary_expression "local_150 + -1" identifier + number_literal) + (cast_expression "(uint)bVar18" ( (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_0003cff8:\n        local_138 = local_138->fr_next;" statement_identifier : (expression_statement "local_138 = local_138->fr_next;" (assignment_expression "local_138 = local_138->fr_next" identifier = (field_expression "local_138->fr_next" identifier -> field_identifier)) ;)) }))) (if_statement "if (local_138 == (frag *)0x0) {\n        return;\n      }" if (parenthesized_expression "(local_138 == (frag *)0x0)" ( (binary_expression "local_138 == (frag *)0x0" identifier == (cast_expression "(frag *)0x0" ( (type_descriptor "frag *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) while (parenthesized_expression "((local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop))" ( (binary_expression "(local_138->fr_type == rs_fill) || (local_138->fr_type == rs_fill_nop)" (parenthesized_expression "(local_138->fr_type == rs_fill)" ( (binary_expression "local_138->fr_type == rs_fill" (field_expression "local_138->fr_type" identifier -> field_identifier) == identifier) )) || (parenthesized_expression "(local_138->fr_type == rs_fill_nop)" ( (binary_expression "local_138->fr_type == rs_fill_nop" (field_expression "local_138->fr_type" identifier -> field_identifier) == identifier) ))) )) ;) })) 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_0003ce60(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../gas/write.c",0x64f,"write_contents");\n}\n\n" (function_definition "void FUN_0003ce60(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../gas/write.c",0x64f,"write_contents");\n}" primitive_type (function_declarator "FUN_0003ce60(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  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../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 "int iVar4;" primitive_type identifier ;) (declaration "void *__ptr;" primitive_type (pointer_declarator "*__ptr" * identifier) ;) (declaration "uint uVar5;" type_identifier identifier ;) (declaration "byte *pbVar6;" type_identifier (pointer_declarator "*pbVar6" * identifier) ;) (declaration "int iVar7;" primitive_type identifier ;) (declaration "undefined4 uVar8;" type_identifier identifier ;) (declaration "undefined4 uVar9;" type_identifier identifier ;) (declaration "undefined4 uVar10;" type_identifier identifier ;) (declaration "undefined4 uVar11;" type_identifier identifier ;) (declaration "uint uVar12;" type_identifier identifier ;) (declaration "int iVar13;" primitive_type identifier ;) (declaration "int iVar14;" primitive_type identifier ;) (declaration "uint uVar15;" type_identifier identifier ;) (declaration "byte *pbVar16;" type_identifier (pointer_declarator "*pbVar16" * identifier) ;) (declaration "byte *pbVar17;" type_identifier (pointer_declarator "*pbVar17" * identifier) ;) (declaration "undefined4 *puVar18;" type_identifier (pointer_declarator "*puVar18" * identifier) ;) (declaration "bool bVar19;" primitive_type identifier ;) (declaration "byte bVar20;" type_identifier identifier ;) (declaration "uint uVar21;" 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 "uint local_144;" type_identifier 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 "bVar20 = 0;" (assignment_expression "bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    }" { (expression_statement "local_144 = *(uint *)(local_138 + 0x10);" (assignment_expression "local_144 = *(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 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }" if (parenthesized_expression "(*(int *)(local_138 + 0x14) != 0 || local_144 != 0)" ( (binary_expression "*(int *)(local_138 + 0x14) != 0 || local_144 != 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 "local_144 != 0" identifier != number_literal)) )) (compound_statement "{\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }" { (expression_statement "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));" (assignment_expression "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" identifier (argument_list "(DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" ( identifier , identifier , (binary_expression "local_138 + 0x68" 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 (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar10 = bfd_errmsg(uVar8);" (assignment_expression "uVar10 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar9 = *(undefined4 *)(local_138 + 0x10);" (assignment_expression "uVar9 = *(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 "uVar11 = 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\'",uVar9,5);" (assignment_expression "uVar11 = 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\'",uVar9,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\'",uVar9,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\'",uVar9,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_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);" (call_expression "FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10)" identifier (argument_list "(uVar11,uVar9,uVar3,uVar8,uVar10)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "local_144 = *(uint *)(local_138 + 0x10);" (assignment_expression "local_144 = *(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 "bVar19 = CARRY4(local_14c,local_144);" (assignment_expression "bVar19 = CARRY4(local_14c,local_144)" identifier = (call_expression "CARRY4(local_14c,local_144)" identifier (argument_list "(local_14c,local_144)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + local_144;" (assignment_expression "local_14c = local_14c + local_144" identifier = (binary_expression "local_14c + local_144" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;" (assignment_expression "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19" identifier = (binary_expression "local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19" (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)bVar19" ( (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 "iVar14 = *(int *)(local_138 + 0x1c);" (assignment_expression "iVar14 = *(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) ))))) ;) (expression_statement "pbVar17 = (byte *)(local_144 + local_138 + 0x68);" (assignment_expression "pbVar17 = (byte *)(local_144 + local_138 + 0x68)" identifier = (cast_expression "(byte *)(local_144 + local_138 + 0x68)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(local_144 + local_138 + 0x68)" ( (binary_expression "local_144 + local_138 + 0x68" (binary_expression "local_144 + local_138" identifier + identifier) + number_literal) )))) ;) (if_statement "if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }" if (parenthesized_expression "((local_150 < 0) || (uVar2 != 1 || iVar14 != 0))" ( (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar14 != 0)" (parenthesized_expression "(local_150 < 0)" ( (binary_expression "local_150 < 0" identifier < number_literal) )) || (parenthesized_expression "(uVar2 != 1 || iVar14 != 0)" ( (binary_expression "uVar2 != 1 || iVar14 != 0" (binary_expression "uVar2 != 1" identifier != number_literal) || (binary_expression "iVar14 != 0" identifier != number_literal)) ))) )) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }" { (expression_statement "FUN_0002be80("../../gas/write.c",0x667,"write_contents");" (call_expression "FUN_0002be80("../../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_0003cff8;" 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_0003cff8;" 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 "FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);" (call_expression "FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17)" identifier (argument_list "(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17)" ( identifier , identifier , identifier , identifier , (cast_expression "(int)(char)*pbVar17" ( (type_descriptor "int" primitive_type) ) (cast_expression "(char)*pbVar17" ( (type_descriptor "char" primitive_type) ) (pointer_expression "*pbVar17" * identifier))) ))) ;) (expression_statement "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier = (call_expression "bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" identifier (argument_list "(DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }" if (parenthesized_expression "(iVar14 == 0)" ( (binary_expression "iVar14 == 0" identifier == number_literal) )) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = 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 "uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,local_154,uVar3,uVar8,uVar9)" identifier (argument_list "(uVar10,local_154,uVar3,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar19 = CARRY4(local_14c,local_154);" (assignment_expression "bVar19 = 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)bVar19;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar19" identifier = (binary_expression "local_148 + local_150 + (uint)bVar19" (binary_expression "local_148 + local_150" identifier + identifier) + (cast_expression "(uint)bVar19" ( (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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" else (compound_statement "{\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" { (if_statement "if (local_150 < 0) {\n                    \n          FUN_0002be80("../../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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }" { (expression_statement "FUN_0002be80("../../gas/write.c",0x67d,"write_contents");" (call_expression "FUN_0002be80("../../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 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" if (parenthesized_expression "((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0))" ( (binary_expression "(uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar14 != 0)" ( (binary_expression "uVar2 != 0 || iVar14 != 0" (binary_expression "uVar2 != 0" identifier != number_literal) || (binary_expression "iVar14 != 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          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" { (expression_statement "uVar21 = uVar2;" (assignment_expression "uVar21 = uVar2" identifier = identifier) ;) (if_statement "if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" if (parenthesized_expression "(iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14)" ( (binary_expression "iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14" (binary_expression "iVar14 == 0" identifier == number_literal) && (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar14" (call_expression "(uint)(0x100 < uVar2)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(0x100 < uVar2)" ( (binary_expression "0x100 < uVar2" number_literal < identifier) ))) <= (binary_expression "(uint)-iVar14" (parenthesized_expression "(uint)" ( identifier )) - identifier))) )) (compound_statement "{\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" { (if_statement "if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" if (parenthesized_expression "(iVar14 == 0 && uVar2 == 1)" ( (binary_expression "iVar14 == 0 && uVar2 == 1" (binary_expression "iVar14 == 0" identifier == number_literal) && (binary_expression "uVar2 == 1" identifier == number_literal)) )) (compound_statement "{\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }" { (expression_statement "uVar5 = 0x100;" (assignment_expression "uVar5 = 0x100" identifier = number_literal) ;) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" identifier = (pointer_expression "*pbVar17" * identifier)) ;) (expression_statement "pbVar17 = local_11c;" (assignment_expression "pbVar17 = local_11c" identifier = identifier) ;) (for_statement "for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }" for ( (assignment_expression "iVar4 = 0x40" identifier = number_literal) ; (binary_expression "iVar4 != 0" identifier != number_literal) ; (assignment_expression "iVar4 = iVar4 + -1" identifier = (binary_expression "iVar4 + -1" identifier + number_literal)) ) (compound_statement "{\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }" { (expression_statement "*(uint *)pbVar17 = (uint)bVar1 * 0x1010101;" (assignment_expression "*(uint *)pbVar17 = (uint)bVar1 * 0x1010101" (pointer_expression "*(uint *)pbVar17" * (cast_expression "(uint *)pbVar17" ( (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 "pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;" (assignment_expression "pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4" identifier = (binary_expression "pbVar17 + ((uint)bVar20 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar20 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar20 * -2 + 1)" ( (binary_expression "(uint)bVar20 * -2 + 1" (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) })) }) (else_clause "else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" else (compound_statement "{\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" { (expression_statement "uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);" (assignment_expression "uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14)" identifier = (call_expression "FUN_00059d00(0x100,0,uVar2,iVar14)" identifier (argument_list "(0x100,0,uVar2,iVar14)" ( number_literal , number_literal , identifier , identifier )))) ;) (expression_statement "pbVar6 = local_11c;" (assignment_expression "pbVar6 = local_11c" identifier = identifier) ;) (expression_statement "uVar15 = uVar5;" (assignment_expression "uVar15 = uVar5" identifier = identifier) ;) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);" do (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              }" { (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }" while (parenthesized_expression "(uVar2 < 4)" ( (binary_expression "uVar2 < 4" identifier < number_literal) )) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }" { (if_statement "if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }" if (parenthesized_expression "((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0))" ( (binary_expression "(uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" ( (binary_expression "uVar2 != 0" identifier != number_literal) )) && (parenthesized_expression "(*pbVar6 = *pbVar17, (uVar2 & 2) != 0)" ( (comma_expression "*pbVar6 = *pbVar17, (uVar2 & 2) != 0" (assignment_expression "*pbVar6 = *pbVar17" (pointer_expression "*pbVar6" * identifier) = (pointer_expression "*pbVar17" * identifier)) , (binary_expression "(uVar2 & 2) != 0" (parenthesized_expression "(uVar2 & 2)" ( (binary_expression "uVar2 & 2" identifier & number_literal) )) != number_literal)) ))) )) (compound_statement "{\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }" { (expression_statement "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar6 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + (uVar2 - 2))" ( (binary_expression "pbVar6 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined2 *)(pbVar17 + (uVar2 - 2))" * (cast_expression "(undefined2 *)(pbVar17 + (uVar2 - 2))" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar17 + (uVar2 - 2))" ( (binary_expression "pbVar17 + (uVar2 - 2)" identifier + (parenthesized_expression "(uVar2 - 2)" ( (binary_expression "uVar2 - 2" identifier - number_literal) ))) ))))) ;) })) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" identifier = (binary_expression "pbVar6 + uVar2" identifier + identifier)) ;) (expression_statement "uVar15 = uVar15 - 1;" (assignment_expression "uVar15 = uVar15 - 1" identifier = (binary_expression "uVar15 - 1" identifier - number_literal)) ;) (if_statement "if (uVar15 == 0) goto LAB_0003d249;" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (goto_statement "goto LAB_0003d249;" goto statement_identifier ;)) })) (expression_statement "*(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;" (assignment_expression "*(undefined4 *)pbVar6 = *(undefined4 *)pbVar17" (pointer_expression "*(undefined4 *)pbVar6" * (cast_expression "(undefined4 *)pbVar6" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (pointer_expression "*(undefined4 *)pbVar17" * (cast_expression "(undefined4 *)pbVar17" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar6 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar6 + (uVar2 - 4))" ( (binary_expression "pbVar6 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) )))) = (pointer_expression "*(undefined4 *)(pbVar17 + (uVar2 - 4))" * (cast_expression "(undefined4 *)(pbVar17 + (uVar2 - 4))" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(pbVar17 + (uVar2 - 4))" ( (binary_expression "pbVar17 + (uVar2 - 4)" identifier + (parenthesized_expression "(uVar2 - 4)" ( (binary_expression "uVar2 - 4" identifier - number_literal) ))) ))))) ;) (expression_statement "iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" identifier = (binary_expression "(int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar6" ( (type_descriptor "int" primitive_type) ) identifier) - (cast_expression "(int)((uint)(pbVar6 + 4) & 0xfffffffc)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))) & number_literal) ))))) ;) (expression_statement "pbVar16 = pbVar17 + -iVar4;" (assignment_expression "pbVar16 = pbVar17 + -iVar4" identifier = (binary_expression "pbVar17 + -iVar4" identifier + (unary_expression "-iVar4" - identifier))) ;) (expression_statement "puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" identifier = (cast_expression "(undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" ( (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(pbVar6 + 4)" ( (binary_expression "pbVar6 + 4" identifier + number_literal) ))) & number_literal) )))) ;) (for_statement "for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }" for ( (assignment_expression "uVar12 = iVar4 + uVar2 >> 2" identifier = (binary_expression "iVar4 + uVar2 >> 2" (binary_expression "iVar4 + uVar2" identifier + identifier) >> number_literal)) ; (binary_expression "uVar12 != 0" identifier != number_literal) ; (assignment_expression "uVar12 = uVar12 - 1" identifier = (binary_expression "uVar12 - 1" identifier - number_literal)) ) (compound_statement "{\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }" { (expression_statement "*puVar18 = *(undefined4 *)pbVar16;" (assignment_expression "*puVar18 = *(undefined4 *)pbVar16" (pointer_expression "*puVar18" * identifier) = (pointer_expression "*(undefined4 *)pbVar16" * (cast_expression "(undefined4 *)pbVar16" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;" (assignment_expression "pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4" identifier = (binary_expression "pbVar16 + ((uint)bVar20 * -2 + 1) * 4" identifier + (binary_expression "((uint)bVar20 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar20 * -2 + 1)" ( (binary_expression "(uint)bVar20 * -2 + 1" (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal) + number_literal) )) * number_literal))) ;) (expression_statement "puVar18 = puVar18 + (uint)bVar20 * -2 + 1;" (assignment_expression "puVar18 = puVar18 + (uint)bVar20 * -2 + 1" identifier = (binary_expression "puVar18 + (uint)bVar20 * -2 + 1" (binary_expression "puVar18 + (uint)bVar20 * -2" identifier + (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" ( (type_descriptor "uint" type_identifier) ) identifier) * number_literal)) + number_literal)) ;) })) (expression_statement "uVar15 = uVar15 - 1;" (assignment_expression "uVar15 = uVar15 - 1" identifier = (binary_expression "uVar15 - 1" identifier - number_literal)) ;) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" identifier = (binary_expression "pbVar6 + uVar2" identifier + identifier)) ;) }) while (parenthesized_expression "(uVar15 != 0)" ( (binary_expression "uVar15 != 0" identifier != number_literal) )) ;) }))) (labeled_statement "LAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" statement_identifier : (do_statement "do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" do (compound_statement "{\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            }" { (expression_statement "local_134 = local_11c;" (assignment_expression "local_134 = local_11c" identifier = identifier) ;) (expression_statement "iVar4 = (int)uVar5 >> 0x1f;" (assignment_expression "iVar4 = (int)uVar5 >> 0x1f" identifier = (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier) >> number_literal)) ;) (if_statement "if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }" if (parenthesized_expression "((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0)" ( (binary_expression "(SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5)))" ( (binary_expression "SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))" (call_expression "SBORROW4(local_150,iVar4)" identifier (argument_list "(local_150,iVar4)" ( identifier , identifier ))) != (call_expression "SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))" identifier (argument_list "(local_150 - iVar4,(uint)(local_154 < uVar5))" ( (binary_expression "local_150 - iVar4" identifier - identifier) , (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar5)" ( (binary_expression "local_154 < uVar5" identifier < identifier) ))) )))) )) != (binary_expression "(int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0" (cast_expression "(int)((local_150 - iVar4) - (uint)(local_154 < uVar5))" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((local_150 - iVar4) - (uint)(local_154 < uVar5))" ( (binary_expression "(local_150 - iVar4) - (uint)(local_154 < uVar5)" (parenthesized_expression "(local_150 - iVar4)" ( (binary_expression "local_150 - iVar4" identifier - identifier) )) - (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(local_154 < uVar5)" ( (binary_expression "local_154 < uVar5" identifier < identifier) )))) ))) < number_literal)) )) (compound_statement "{\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }" { (expression_statement "uVar5 = local_154;" (assignment_expression "uVar5 = local_154" identifier = identifier) ;) (expression_statement "iVar4 = local_150;" (assignment_expression "iVar4 = local_150" identifier = identifier) ;) })) (expression_statement "uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);" (assignment_expression "uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5)" identifier = (call_expression "(uint)((ulonglong)uVar21 * (ulonglong)uVar5)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((ulonglong)uVar21 * (ulonglong)uVar5)" ( (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) )))) ;) (expression_statement "iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;" (assignment_expression "iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5" identifier = (binary_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5" (binary_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4" (cast_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20)" ( (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20" (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar21" ( (type_descriptor "ulonglong" type_identifier) ) identifier) * (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier)) >> number_literal) ))) + (binary_expression "uVar21 * iVar4" identifier * identifier)) + (binary_expression "iVar14 * uVar5" identifier * identifier))) ;) (expression_statement "iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);" (assignment_expression "iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" identifier (argument_list "(DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }" if (parenthesized_expression "(iVar7 == 0)" ( (binary_expression "iVar7 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }" { (expression_statement "uVar8 = bfd_get_error(uVar5,iVar4);" (assignment_expression "uVar8 = bfd_get_error(uVar5,iVar4)" identifier = (call_expression "bfd_get_error(uVar5,iVar4)" identifier (argument_list "(uVar5,iVar4)" ( identifier , identifier )))) ;) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "iVar14 = uVar2 * uVar5;" (assignment_expression "iVar14 = uVar2 * uVar5" identifier = (binary_expression "uVar2 * uVar5" identifier * identifier)) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = 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\'",iVar14,5);" (assignment_expression "uVar10 = 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\'",iVar14,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\'",iVar14,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\'",iVar14,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_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9)" identifier (argument_list "(uVar10,iVar14,uVar3,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar19 = CARRY4(local_14c,uVar15);" (assignment_expression "bVar19 = CARRY4(local_14c,uVar15)" identifier = (call_expression "CARRY4(local_14c,uVar15)" identifier (argument_list "(local_14c,uVar15)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar15;" (assignment_expression "local_14c = local_14c + uVar15" identifier = (binary_expression "local_14c + uVar15" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar13 + (uint)bVar19;" (assignment_expression "local_148 = local_148 + iVar13 + (uint)bVar19" identifier = (binary_expression "local_148 + iVar13 + (uint)bVar19" (binary_expression "local_148 + iVar13" identifier + identifier) + (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar19 = local_154 < uVar5;" (assignment_expression "bVar19 = local_154 < uVar5" identifier = (binary_expression "local_154 < uVar5" identifier < identifier)) ;) (expression_statement "local_154 = local_154 - uVar5;" (assignment_expression "local_154 = local_154 - uVar5" identifier = (binary_expression "local_154 - uVar5" identifier - identifier)) ;) (expression_statement "local_150 = (local_150 - iVar4) - (uint)bVar19;" (assignment_expression "local_150 = (local_150 - iVar4) - (uint)bVar19" identifier = (binary_expression "(local_150 - iVar4) - (uint)bVar19" (parenthesized_expression "(local_150 - iVar4)" ( (binary_expression "local_150 - iVar4" identifier - identifier) )) - (cast_expression "(uint)bVar19" ( (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              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" else (compound_statement "{\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" { (do_statement "do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);" do (compound_statement "{\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            }" { (expression_statement "iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);" (assignment_expression "iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" identifier = (call_expression "bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" identifier (argument_list "(DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (if_statement "if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }" if (parenthesized_expression "(iVar4 == 0)" ( (binary_expression "iVar4 == 0" identifier == number_literal) )) (compound_statement "{\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }" { (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" identifier = (call_expression "bfd_get_error()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" identifier = (call_expression "bfd_errmsg(uVar8)" identifier (argument_list "(uVar8)" ( identifier )))) ;) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" identifier = (pointer_expression "*DAT_00089944" * identifier)) ;) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar10 = 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 "uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9)" identifier (argument_list "(uVar10,uVar2,uVar3,uVar8,uVar9)" ( identifier , identifier , identifier , identifier , identifier ))) ;) })) (expression_statement "bVar19 = CARRY4(local_14c,uVar21);" (assignment_expression "bVar19 = CARRY4(local_14c,uVar21)" identifier = (call_expression "CARRY4(local_14c,uVar21)" identifier (argument_list "(local_14c,uVar21)" ( identifier , identifier )))) ;) (expression_statement "local_14c = local_14c + uVar21;" (assignment_expression "local_14c = local_14c + uVar21" identifier = (binary_expression "local_14c + uVar21" identifier + identifier)) ;) (expression_statement "local_148 = local_148 + iVar14 + (uint)bVar19;" (assignment_expression "local_148 = local_148 + iVar14 + (uint)bVar19" identifier = (binary_expression "local_148 + iVar14 + (uint)bVar19" (binary_expression "local_148 + iVar14" identifier + identifier) + (cast_expression "(uint)bVar19" ( (type_descriptor "uint" type_identifier) ) identifier))) ;) (expression_statement "bVar19 = local_154 != 0;" (assignment_expression "bVar19 = 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)bVar19;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar19" identifier = (binary_expression "local_150 + -1 + (uint)bVar19" (binary_expression "local_150 + -1" identifier + number_literal) + (cast_expression "(uint)bVar19" ( (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_0003cff8:\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_0002be80("../../gas/write.c",0x64f,"write_contents");" (call_expression "FUN_0002be80("../../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 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 (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 (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) ))))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + 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 (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , (cast_expression ( (type_descriptor TYPE) ) (cast_expression ( (type_descriptor TYPE) ) (pointer_expression * 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 = 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_0003ce60(undefined4 param_1,undefined4 *param_2)\n\n{\n  byte bVar1;\n  uint uVar2;\n  undefined4 uVar3;\n  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../gas/write.c",0x64f,"write_contents");\n}" (primitive_type "void") (function_declarator "FUN_0003ce60(undefined4 param_1,undefined4 *param_2)" (identifier "FUN_0003ce60") (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  int iVar4;\n  void *__ptr;\n  uint uVar5;\n  byte *pbVar6;\n  int iVar7;\n  undefined4 uVar8;\n  undefined4 uVar9;\n  undefined4 uVar10;\n  undefined4 uVar11;\n  uint uVar12;\n  int iVar13;\n  int iVar14;\n  uint uVar15;\n  byte *pbVar16;\n  byte *pbVar17;\n  undefined4 *puVar18;\n  bool bVar19;\n  byte bVar20;\n  uint uVar21;\n  uint local_154;\n  int local_150;\n  uint local_14c;\n  int local_148;\n  uint local_144;\n  int local_138;\n  byte *local_134;\n  byte local_11c [268];\n  \n  bVar20 = 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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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_0002be80("../../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 "int iVar4;" (primitive_type "int") (identifier "iVar4") (; ";")) (declaration "void *__ptr;" (primitive_type "void") (pointer_declarator "*__ptr" (* "*") (identifier "__ptr")) (; ";")) (declaration "uint uVar5;" (type_identifier "uint") (identifier "uVar5") (; ";")) (declaration "byte *pbVar6;" (type_identifier "byte") (pointer_declarator "*pbVar6" (* "*") (identifier "pbVar6")) (; ";")) (declaration "int iVar7;" (primitive_type "int") (identifier "iVar7") (; ";")) (declaration "undefined4 uVar8;" (type_identifier "undefined4") (identifier "uVar8") (; ";")) (declaration "undefined4 uVar9;" (type_identifier "undefined4") (identifier "uVar9") (; ";")) (declaration "undefined4 uVar10;" (type_identifier "undefined4") (identifier "uVar10") (; ";")) (declaration "undefined4 uVar11;" (type_identifier "undefined4") (identifier "uVar11") (; ";")) (declaration "uint uVar12;" (type_identifier "uint") (identifier "uVar12") (; ";")) (declaration "int iVar13;" (primitive_type "int") (identifier "iVar13") (; ";")) (declaration "int iVar14;" (primitive_type "int") (identifier "iVar14") (; ";")) (declaration "uint uVar15;" (type_identifier "uint") (identifier "uVar15") (; ";")) (declaration "byte *pbVar16;" (type_identifier "byte") (pointer_declarator "*pbVar16" (* "*") (identifier "pbVar16")) (; ";")) (declaration "byte *pbVar17;" (type_identifier "byte") (pointer_declarator "*pbVar17" (* "*") (identifier "pbVar17")) (; ";")) (declaration "undefined4 *puVar18;" (type_identifier "undefined4") (pointer_declarator "*puVar18" (* "*") (identifier "puVar18")) (; ";")) (declaration "bool bVar19;" (primitive_type "bool") (identifier "bVar19") (; ";")) (declaration "byte bVar20;" (type_identifier "byte") (identifier "bVar20") (; ";")) (declaration "uint uVar21;" (type_identifier "uint") (identifier "uVar21") (; ";")) (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 "uint local_144;" (type_identifier "uint") (identifier "local_144") (; ";")) (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 "bVar20 = 0;" (assignment_expression "bVar20 = 0" (identifier "bVar20") (= "=") (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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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      local_144 = *(uint *)(local_138 + 0x10);\n      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }\n      uVar2 = *(uint *)(local_138 + 0x18);\n      iVar14 = *(int *)(local_138 + 0x1c);\n      local_150 = *(int *)(local_138 + 0x24);\n      local_154 = *(uint *)(local_138 + 0x20);\n      pbVar17 = (byte *)(local_144 + local_138 + 0x68);\n      if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      if (local_138 == 0) {\n        return;\n      }\n    }" ({ "{") (expression_statement "local_144 = *(uint *)(local_138 + 0x10);" (assignment_expression "local_144 = *(uint *)(local_138 + 0x10)" (identifier "local_144") (= "=") (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 || local_144 != 0) {\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }" (if "if") (parenthesized_expression "(*(int *)(local_138 + 0x14) != 0 || local_144 != 0)" (( "(") (binary_expression "*(int *)(local_138 + 0x14) != 0 || local_144 != 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 "local_144 != 0" (identifier "local_144") (!= "!=") (number_literal "0"))) () ")")) (compound_statement "{\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }\n        local_144 = *(uint *)(local_138 + 0x10);\n        bVar19 = CARRY4(local_14c,local_144);\n        local_14c = local_14c + local_144;\n        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;\n      }" ({ "{") (expression_statement "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14));" (assignment_expression "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" (identifier "iVar14") (= "=") (call_expression "bfd_set_section_contents\n                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" (identifier "bfd_set_section_contents") (argument_list "(DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,\n                            *(int *)(local_138 + 0x14))" (( "(") (identifier "DAT_00089944") (, ",") (identifier "param_2") (, ",") (binary_expression "local_138 + 0x68" (identifier "local_138") (+ "+") (number_literal "0x68")) (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "local_144") (, ",") (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 (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar10 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar9 = *(undefined4 *)(local_138 + 0x10);\n          uVar11 = 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\'",uVar9,5);\n                    \n          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);\n        }" ({ "{") (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" (identifier "uVar8") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar10 = bfd_errmsg(uVar8);" (assignment_expression "uVar10 = bfd_errmsg(uVar8)" (identifier "uVar10") (= "=") (call_expression "bfd_errmsg(uVar8)" (identifier "bfd_errmsg") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" (identifier "uVar8") (= "=") (pointer_expression "*DAT_00089944" (* "*") (identifier "DAT_00089944"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar9 = *(undefined4 *)(local_138 + 0x10);" (assignment_expression "uVar9 = *(undefined4 *)(local_138 + 0x10)" (identifier "uVar9") (= "=") (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 "uVar11 = 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\'",uVar9,5);" (assignment_expression "uVar11 = 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\'",uVar9,5)" (identifier "uVar11") (= "=") (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\'",uVar9,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\'",uVar9,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 "uVar9") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);" (call_expression "FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10)" (identifier "FUN_0002be00") (argument_list "(uVar11,uVar9,uVar3,uVar8,uVar10)" (( "(") (identifier "uVar11") (, ",") (identifier "uVar9") (, ",") (identifier "uVar3") (, ",") (identifier "uVar8") (, ",") (identifier "uVar10") () ")"))) (; ";")) (} "}"))) (expression_statement "local_144 = *(uint *)(local_138 + 0x10);" (assignment_expression "local_144 = *(uint *)(local_138 + 0x10)" (identifier "local_144") (= "=") (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 "bVar19 = CARRY4(local_14c,local_144);" (assignment_expression "bVar19 = CARRY4(local_14c,local_144)" (identifier "bVar19") (= "=") (call_expression "CARRY4(local_14c,local_144)" (identifier "CARRY4") (argument_list "(local_14c,local_144)" (( "(") (identifier "local_14c") (, ",") (identifier "local_144") () ")")))) (; ";")) (expression_statement "local_14c = local_14c + local_144;" (assignment_expression "local_14c = local_14c + local_144" (identifier "local_14c") (= "=") (binary_expression "local_14c + local_144" (identifier "local_14c") (+ "+") (identifier "local_144"))) (; ";")) (expression_statement "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;" (assignment_expression "local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19" (identifier "local_148") (= "=") (binary_expression "local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19" (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)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (} "}"))) (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 "iVar14 = *(int *)(local_138 + 0x1c);" (assignment_expression "iVar14 = *(int *)(local_138 + 0x1c)" (identifier "iVar14") (= "=") (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")) () ")"))))) (; ";")) (expression_statement "pbVar17 = (byte *)(local_144 + local_138 + 0x68);" (assignment_expression "pbVar17 = (byte *)(local_144 + local_138 + 0x68)" (identifier "pbVar17") (= "=") (cast_expression "(byte *)(local_144 + local_138 + 0x68)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(local_144 + local_138 + 0x68)" (( "(") (binary_expression "local_144 + local_138 + 0x68" (binary_expression "local_144 + local_138" (identifier "local_144") (+ "+") (identifier "local_138")) (+ "+") (number_literal "0x68")) () ")")))) (; ";")) (if_statement "if (*(int *)(local_138 + 0x44) == 10) {\n        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }\n      else {\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\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 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }\n        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;\n        __ptr = (void *)xmalloc(local_154);\n        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);\n        iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);\n        if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }\n        bVar19 = CARRY4(local_14c,local_154);\n        local_14c = local_14c + local_154;\n        local_148 = local_148 + local_150 + (uint)bVar19;\n        free(__ptr);\n        local_138 = *(int *)(local_138 + 0x30);\n      }" ({ "{") (if_statement "if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }" (if "if") (parenthesized_expression "((local_150 < 0) || (uVar2 != 1 || iVar14 != 0))" (( "(") (binary_expression "(local_150 < 0) || (uVar2 != 1 || iVar14 != 0)" (parenthesized_expression "(local_150 < 0)" (( "(") (binary_expression "local_150 < 0" (identifier "local_150") (< "<") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(uVar2 != 1 || iVar14 != 0)" (( "(") (binary_expression "uVar2 != 1 || iVar14 != 0" (binary_expression "uVar2 != 1" (identifier "uVar2") (!= "!=") (number_literal "1")) (|| "||") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (number_literal "0"))) () ")"))) () ")")) (compound_statement "{\n                    \n          FUN_0002be80("../../gas/write.c",0x667,"write_contents");\n        }" ({ "{") (expression_statement "FUN_0002be80("../../gas/write.c",0x667,"write_contents");" (call_expression "FUN_0002be80("../../gas/write.c",0x667,"write_contents")" (identifier "FUN_0002be80") (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_0003cff8;" (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_0003cff8;" (goto "goto") (statement_identifier "LAB_0003cff8") (; ";"))) (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 "FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);" (call_expression "FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17)" (identifier "FUN_0004dea0") (argument_list "(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17)" (( "(") (identifier "local_138") (, ",") (identifier "__ptr") (, ",") (identifier "local_154") (, ",") (identifier "local_150") (, ",") (cast_expression "(int)(char)*pbVar17" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (cast_expression "(char)*pbVar17" (( "(") (type_descriptor "char" (primitive_type "char")) () ")") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17")))) () ")"))) (; ";")) (expression_statement "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);" (assignment_expression "iVar14 = bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" (identifier "iVar14") (= "=") (call_expression "bfd_set_section_contents\n                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" (identifier "bfd_set_section_contents") (argument_list "(DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "param_2") (, ",") (identifier "__ptr") (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "local_154") (, ",") (identifier "local_150") () ")")))) (; ";")) (if_statement "if (iVar14 == 0) {\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }" (if "if") (parenthesized_expression "(iVar14 == 0)" (( "(") (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n          uVar8 = bfd_get_error();\n          uVar9 = bfd_errmsg(uVar8);\n          uVar8 = *DAT_00089944;\n          uVar3 = *param_2;\n          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);\n        }" ({ "{") (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" (identifier "uVar8") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" (identifier "uVar9") (= "=") (call_expression "bfd_errmsg(uVar8)" (identifier "bfd_errmsg") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" (identifier "uVar8") (= "=") (pointer_expression "*DAT_00089944" (* "*") (identifier "DAT_00089944"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar10 = 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 "uVar10 = 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 "uVar10") (= "=") (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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,local_154,uVar3,uVar8,uVar9)" (identifier "FUN_0002be00") (argument_list "(uVar10,local_154,uVar3,uVar8,uVar9)" (( "(") (identifier "uVar10") (, ",") (identifier "local_154") (, ",") (identifier "uVar3") (, ",") (identifier "uVar8") (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar19 = CARRY4(local_14c,local_154);" (assignment_expression "bVar19 = CARRY4(local_14c,local_154)" (identifier "bVar19") (= "=") (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)bVar19;" (assignment_expression "local_148 = local_148 + local_150 + (uint)bVar19" (identifier "local_148") (= "=") (binary_expression "local_148 + local_150 + (uint)bVar19" (binary_expression "local_148 + local_150" (identifier "local_148") (+ "+") (identifier "local_150")) (+ "+") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" (else "else") (compound_statement "{\n        if (local_150 < 0) {\n                    \n          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }\n        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }\nLAB_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);\n      }" ({ "{") (if_statement "if (local_150 < 0) {\n                    \n          FUN_0002be80("../../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_0002be80("../../gas/write.c",0x67d,"write_contents");\n        }" ({ "{") (expression_statement "FUN_0002be80("../../gas/write.c",0x67d,"write_contents");" (call_expression "FUN_0002be80("../../gas/write.c",0x67d,"write_contents")" (identifier "FUN_0002be80") (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 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {\n          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" (if "if") (parenthesized_expression "((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0))" (( "(") (binary_expression "(uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)" (parenthesized_expression "(uVar2 != 0 || iVar14 != 0)" (( "(") (binary_expression "uVar2 != 0 || iVar14 != 0" (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) (|| "||") (binary_expression "iVar14 != 0" (identifier "iVar14") (!= "!=") (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          uVar21 = uVar2;\n          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }\n        }" ({ "{") (expression_statement "uVar21 = uVar2;" (assignment_expression "uVar21 = uVar2" (identifier "uVar21") (= "=") (identifier "uVar2")) (; ";")) (if_statement "if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }\n          else {\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" (if "if") (parenthesized_expression "(iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14)" (( "(") (binary_expression "iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14" (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) (&& "&&") (binary_expression "(uint)(0x100 < uVar2) <= (uint)-iVar14" (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)-iVar14" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (- "-") (identifier "iVar14")))) () ")")) (compound_statement "{\n            if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }\nLAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));\n          }" ({ "{") (if_statement "if (iVar14 == 0 && uVar2 == 1) {\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }\n            else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" (if "if") (parenthesized_expression "(iVar14 == 0 && uVar2 == 1)" (( "(") (binary_expression "iVar14 == 0 && uVar2 == 1" (binary_expression "iVar14 == 0" (identifier "iVar14") (== "==") (number_literal "0")) (&& "&&") (binary_expression "uVar2 == 1" (identifier "uVar2") (== "==") (number_literal "1"))) () ")")) (compound_statement "{\n              uVar5 = 0x100;\n              bVar1 = *pbVar17;\n              pbVar17 = local_11c;\n              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }\n            }" ({ "{") (expression_statement "uVar5 = 0x100;" (assignment_expression "uVar5 = 0x100" (identifier "uVar5") (= "=") (number_literal "0x100")) (; ";")) (expression_statement "bVar1 = *pbVar17;" (assignment_expression "bVar1 = *pbVar17" (identifier "bVar1") (= "=") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17"))) (; ";")) (expression_statement "pbVar17 = local_11c;" (assignment_expression "pbVar17 = local_11c" (identifier "pbVar17") (= "=") (identifier "local_11c")) (; ";")) (for_statement "for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }" (for "for") (( "(") (assignment_expression "iVar4 = 0x40" (identifier "iVar4") (= "=") (number_literal "0x40")) (; ";") (binary_expression "iVar4 != 0" (identifier "iVar4") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "iVar4 = iVar4 + -1" (identifier "iVar4") (= "=") (binary_expression "iVar4 + -1" (identifier "iVar4") (+ "+") (number_literal "-1"))) () ")") (compound_statement "{\n                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;\n                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;\n              }" ({ "{") (expression_statement "*(uint *)pbVar17 = (uint)bVar1 * 0x1010101;" (assignment_expression "*(uint *)pbVar17 = (uint)bVar1 * 0x1010101" (pointer_expression "*(uint *)pbVar17" (* "*") (cast_expression "(uint *)pbVar17" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar17"))) (= "=") (binary_expression "(uint)bVar1 * 0x1010101" (cast_expression "(uint)bVar1" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar1")) (* "*") (number_literal "0x1010101"))) (; ";")) (expression_statement "pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;" (assignment_expression "pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4" (identifier "pbVar17") (= "=") (binary_expression "pbVar17 + ((uint)bVar20 * -2 + 1) * 4" (identifier "pbVar17") (+ "+") (binary_expression "((uint)bVar20 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar20 * -2 + 1)" (( "(") (binary_expression "(uint)bVar20 * -2 + 1" (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) (* "*") (number_literal "-2")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")))) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" (else "else") (compound_statement "{\n              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);\n              pbVar6 = local_11c;\n              uVar15 = uVar5;\n              do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);\n            }" ({ "{") (expression_statement "uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);" (assignment_expression "uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14)" (identifier "uVar5") (= "=") (call_expression "FUN_00059d00(0x100,0,uVar2,iVar14)" (identifier "FUN_00059d00") (argument_list "(0x100,0,uVar2,iVar14)" (( "(") (number_literal "0x100") (, ",") (number_literal "0") (, ",") (identifier "uVar2") (, ",") (identifier "iVar14") () ")")))) (; ";")) (expression_statement "pbVar6 = local_11c;" (assignment_expression "pbVar6 = local_11c" (identifier "pbVar6") (= "=") (identifier "local_11c")) (; ";")) (expression_statement "uVar15 = uVar5;" (assignment_expression "uVar15 = uVar5" (identifier "uVar15") (= "=") (identifier "uVar5")) (; ";")) (do_statement "do {\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              } while (uVar15 != 0);" (do "do") (compound_statement "{\n                while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }\n                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;\n                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));\n                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);\n                pbVar16 = pbVar17 + -iVar4;\n                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);\n                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }\n                uVar15 = uVar15 - 1;\n                pbVar6 = pbVar6 + uVar2;\n              }" ({ "{") (while_statement "while (uVar2 < 4) {\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }" (while "while") (parenthesized_expression "(uVar2 < 4)" (( "(") (binary_expression "uVar2 < 4" (identifier "uVar2") (< "<") (number_literal "4")) () ")")) (compound_statement "{\n                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }\n                  pbVar6 = pbVar6 + uVar2;\n                  uVar15 = uVar15 - 1;\n                  if (uVar15 == 0) goto LAB_0003d249;\n                }" ({ "{") (if_statement "if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {\n                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }" (if "if") (parenthesized_expression "((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0))" (( "(") (binary_expression "(uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)" (parenthesized_expression "(uVar2 != 0)" (( "(") (binary_expression "uVar2 != 0" (identifier "uVar2") (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "(*pbVar6 = *pbVar17, (uVar2 & 2) != 0)" (( "(") (comma_expression "*pbVar6 = *pbVar17, (uVar2 & 2) != 0" (assignment_expression "*pbVar6 = *pbVar17" (pointer_expression "*pbVar6" (* "*") (identifier "pbVar6")) (= "=") (pointer_expression "*pbVar17" (* "*") (identifier "pbVar17"))) (, ",") (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 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));\n                  }" ({ "{") (expression_statement "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));" (assignment_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2))" (pointer_expression "*(undefined2 *)(pbVar6 + (uVar2 - 2))" (* "*") (cast_expression "(undefined2 *)(pbVar6 + (uVar2 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + (uVar2 - 2))" (( "(") (binary_expression "pbVar6 + (uVar2 - 2)" (identifier "pbVar6") (+ "+") (parenthesized_expression "(uVar2 - 2)" (( "(") (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined2 *)(pbVar17 + (uVar2 - 2))" (* "*") (cast_expression "(undefined2 *)(pbVar17 + (uVar2 - 2))" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar17 + (uVar2 - 2))" (( "(") (binary_expression "pbVar17 + (uVar2 - 2)" (identifier "pbVar17") (+ "+") (parenthesized_expression "(uVar2 - 2)" (( "(") (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2")) () ")"))) () ")"))))) (; ";")) (} "}"))) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + uVar2" (identifier "pbVar6") (+ "+") (identifier "uVar2"))) (; ";")) (expression_statement "uVar15 = uVar15 - 1;" (assignment_expression "uVar15 = uVar15 - 1" (identifier "uVar15") (= "=") (binary_expression "uVar15 - 1" (identifier "uVar15") (- "-") (number_literal "1"))) (; ";")) (if_statement "if (uVar15 == 0) goto LAB_0003d249;" (if "if") (parenthesized_expression "(uVar15 == 0)" (( "(") (binary_expression "uVar15 == 0" (identifier "uVar15") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_0003d249;" (goto "goto") (statement_identifier "LAB_0003d249") (; ";"))) (} "}"))) (expression_statement "*(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;" (assignment_expression "*(undefined4 *)pbVar6 = *(undefined4 *)pbVar17" (pointer_expression "*(undefined4 *)pbVar6" (* "*") (cast_expression "(undefined4 *)pbVar6" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar6"))) (= "=") (pointer_expression "*(undefined4 *)pbVar17" (* "*") (cast_expression "(undefined4 *)pbVar17" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar17")))) (; ";")) (expression_statement "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));" (assignment_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4))" (pointer_expression "*(undefined4 *)(pbVar6 + (uVar2 - 4))" (* "*") (cast_expression "(undefined4 *)(pbVar6 + (uVar2 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar6 + (uVar2 - 4))" (( "(") (binary_expression "pbVar6 + (uVar2 - 4)" (identifier "pbVar6") (+ "+") (parenthesized_expression "(uVar2 - 4)" (( "(") (binary_expression "uVar2 - 4" (identifier "uVar2") (- "-") (number_literal "4")) () ")"))) () ")")))) (= "=") (pointer_expression "*(undefined4 *)(pbVar17 + (uVar2 - 4))" (* "*") (cast_expression "(undefined4 *)(pbVar17 + (uVar2 - 4))" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(pbVar17 + (uVar2 - 4))" (( "(") (binary_expression "pbVar17 + (uVar2 - 4)" (identifier "pbVar17") (+ "+") (parenthesized_expression "(uVar2 - 4)" (( "(") (binary_expression "uVar2 - 4" (identifier "uVar2") (- "-") (number_literal "4")) () ")"))) () ")"))))) (; ";")) (expression_statement "iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" (identifier "iVar4") (= "=") (binary_expression "(int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc)" (cast_expression "(int)pbVar6" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "pbVar6")) (- "-") (cast_expression "(int)((uint)(pbVar6 + 4) & 0xfffffffc)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" (( "(") (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")"))))) (; ";")) (expression_statement "pbVar16 = pbVar17 + -iVar4;" (assignment_expression "pbVar16 = pbVar17 + -iVar4" (identifier "pbVar16") (= "=") (binary_expression "pbVar17 + -iVar4" (identifier "pbVar17") (+ "+") (unary_expression "-iVar4" (- "-") (identifier "iVar4")))) (; ";")) (expression_statement "puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);" (assignment_expression "puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" (identifier "puVar18") (= "=") (cast_expression "(undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((uint)(pbVar6 + 4) & 0xfffffffc)" (( "(") (binary_expression "(uint)(pbVar6 + 4) & 0xfffffffc" (call_expression "(uint)(pbVar6 + 4)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(pbVar6 + 4)" (( "(") (binary_expression "pbVar6 + 4" (identifier "pbVar6") (+ "+") (number_literal "4")) () ")"))) (& "&") (number_literal "0xfffffffc")) () ")")))) (; ";")) (for_statement "for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }" (for "for") (( "(") (assignment_expression "uVar12 = iVar4 + uVar2 >> 2" (identifier "uVar12") (= "=") (binary_expression "iVar4 + uVar2 >> 2" (binary_expression "iVar4 + uVar2" (identifier "iVar4") (+ "+") (identifier "uVar2")) (>> ">>") (number_literal "2"))) (; ";") (binary_expression "uVar12 != 0" (identifier "uVar12") (!= "!=") (number_literal "0")) (; ";") (assignment_expression "uVar12 = uVar12 - 1" (identifier "uVar12") (= "=") (binary_expression "uVar12 - 1" (identifier "uVar12") (- "-") (number_literal "1"))) () ")") (compound_statement "{\n                  *puVar18 = *(undefined4 *)pbVar16;\n                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;\n                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;\n                }" ({ "{") (expression_statement "*puVar18 = *(undefined4 *)pbVar16;" (assignment_expression "*puVar18 = *(undefined4 *)pbVar16" (pointer_expression "*puVar18" (* "*") (identifier "puVar18")) (= "=") (pointer_expression "*(undefined4 *)pbVar16" (* "*") (cast_expression "(undefined4 *)pbVar16" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "pbVar16")))) (; ";")) (expression_statement "pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;" (assignment_expression "pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4" (identifier "pbVar16") (= "=") (binary_expression "pbVar16 + ((uint)bVar20 * -2 + 1) * 4" (identifier "pbVar16") (+ "+") (binary_expression "((uint)bVar20 * -2 + 1) * 4" (parenthesized_expression "((uint)bVar20 * -2 + 1)" (( "(") (binary_expression "(uint)bVar20 * -2 + 1" (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) (* "*") (number_literal "-2")) (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "4")))) (; ";")) (expression_statement "puVar18 = puVar18 + (uint)bVar20 * -2 + 1;" (assignment_expression "puVar18 = puVar18 + (uint)bVar20 * -2 + 1" (identifier "puVar18") (= "=") (binary_expression "puVar18 + (uint)bVar20 * -2 + 1" (binary_expression "puVar18 + (uint)bVar20 * -2" (identifier "puVar18") (+ "+") (binary_expression "(uint)bVar20 * -2" (cast_expression "(uint)bVar20" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar20")) (* "*") (number_literal "-2"))) (+ "+") (number_literal "1"))) (; ";")) (} "}"))) (expression_statement "uVar15 = uVar15 - 1;" (assignment_expression "uVar15 = uVar15 - 1" (identifier "uVar15") (= "=") (binary_expression "uVar15 - 1" (identifier "uVar15") (- "-") (number_literal "1"))) (; ";")) (expression_statement "pbVar6 = pbVar6 + uVar2;" (assignment_expression "pbVar6 = pbVar6 + uVar2" (identifier "pbVar6") (= "=") (binary_expression "pbVar6 + uVar2" (identifier "pbVar6") (+ "+") (identifier "uVar2"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar15 != 0)" (( "(") (binary_expression "uVar15 != 0" (identifier "uVar15") (!= "!=") (number_literal "0")) () ")")) (; ";")) (} "}")))) (labeled_statement "LAB_0003d249:\n            do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" (statement_identifier "LAB_0003d249") (: ":") (do_statement "do {\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            } while (-local_150 < (int)(uint)(local_154 != 0));" (do "do") (compound_statement "{\n              local_134 = local_11c;\n              iVar4 = (int)uVar5 >> 0x1f;\n              if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }\n              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);\n              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;\n              iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);\n              if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar15);\n              local_14c = local_14c + uVar15;\n              local_148 = local_148 + iVar13 + (uint)bVar19;\n              bVar19 = local_154 < uVar5;\n              local_154 = local_154 - uVar5;\n              local_150 = (local_150 - iVar4) - (uint)bVar19;\n            }" ({ "{") (expression_statement "local_134 = local_11c;" (assignment_expression "local_134 = local_11c" (identifier "local_134") (= "=") (identifier "local_11c")) (; ";")) (expression_statement "iVar4 = (int)uVar5 >> 0x1f;" (assignment_expression "iVar4 = (int)uVar5 >> 0x1f" (identifier "iVar4") (= "=") (binary_expression "(int)uVar5 >> 0x1f" (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5")) (>> ">>") (number_literal "0x1f"))) (; ";")) (if_statement "if ((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }" (if "if") (parenthesized_expression "((SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0)" (( "(") (binary_expression "(SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=\n                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0" (parenthesized_expression "(SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5)))" (( "(") (binary_expression "SBORROW4(local_150,iVar4) !=\n                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))" (call_expression "SBORROW4(local_150,iVar4)" (identifier "SBORROW4") (argument_list "(local_150,iVar4)" (( "(") (identifier "local_150") (, ",") (identifier "iVar4") () ")"))) (!= "!=") (call_expression "SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))" (identifier "SBORROW4") (argument_list "(local_150 - iVar4,(uint)(local_154 < uVar5))" (( "(") (binary_expression "local_150 - iVar4" (identifier "local_150") (- "-") (identifier "iVar4")) (, ",") (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_154 < uVar5)" (( "(") (binary_expression "local_154 < uVar5" (identifier "local_154") (< "<") (identifier "uVar5")) () ")"))) () ")")))) () ")")) (!= "!=") (binary_expression "(int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0" (cast_expression "(int)((local_150 - iVar4) - (uint)(local_154 < uVar5))" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((local_150 - iVar4) - (uint)(local_154 < uVar5))" (( "(") (binary_expression "(local_150 - iVar4) - (uint)(local_154 < uVar5)" (parenthesized_expression "(local_150 - iVar4)" (( "(") (binary_expression "local_150 - iVar4" (identifier "local_150") (- "-") (identifier "iVar4")) () ")")) (- "-") (call_expression "(uint)(local_154 < uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(local_154 < uVar5)" (( "(") (binary_expression "local_154 < uVar5" (identifier "local_154") (< "<") (identifier "uVar5")) () ")")))) () ")"))) (< "<") (number_literal "0"))) () ")")) (compound_statement "{\n                uVar5 = local_154;\n                iVar4 = local_150;\n              }" ({ "{") (expression_statement "uVar5 = local_154;" (assignment_expression "uVar5 = local_154" (identifier "uVar5") (= "=") (identifier "local_154")) (; ";")) (expression_statement "iVar4 = local_150;" (assignment_expression "iVar4 = local_150" (identifier "iVar4") (= "=") (identifier "local_150")) (; ";")) (} "}"))) (expression_statement "uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);" (assignment_expression "uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5)" (identifier "uVar15") (= "=") (call_expression "(uint)((ulonglong)uVar21 * (ulonglong)uVar5)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "((ulonglong)uVar21 * (ulonglong)uVar5)" (( "(") (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (* "*") (cast_expression "(ulonglong)uVar5" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar5"))) () ")")))) (; ";")) (expression_statement "iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5;" (assignment_expression "iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5" (identifier "iVar13") (= "=") (binary_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4 + iVar14 * uVar5" (binary_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +\n                       uVar21 * iVar4" (cast_expression "(int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20" (binary_expression "(ulonglong)uVar21 * (ulonglong)uVar5" (cast_expression "(ulonglong)uVar21" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar21")) (* "*") (cast_expression "(ulonglong)uVar5" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar5"))) (>> ">>") (number_literal "0x20")) () ")"))) (+ "+") (binary_expression "uVar21 * iVar4" (identifier "uVar21") (* "*") (identifier "iVar4"))) (+ "+") (binary_expression "iVar14 * uVar5" (identifier "iVar14") (* "*") (identifier "uVar5")))) (; ";")) (expression_statement "iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);" (assignment_expression "iVar7 = bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" (identifier "iVar7") (= "=") (call_expression "bfd_set_section_contents\n                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" (identifier "bfd_set_section_contents") (argument_list "(DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "param_2") (, ",") (identifier "local_134") (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "uVar15") (, ",") (identifier "iVar13") () ")")))) (; ";")) (if_statement "if (iVar7 == 0) {\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }" (if "if") (parenthesized_expression "(iVar7 == 0)" (( "(") (binary_expression "iVar7 == 0" (identifier "iVar7") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar8 = bfd_get_error(uVar5,iVar4);\n                uVar9 = bfd_errmsg(uVar8);\n                iVar14 = uVar2 * uVar5;\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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\'",iVar14,5);\n                    \n                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);\n              }" ({ "{") (expression_statement "uVar8 = bfd_get_error(uVar5,iVar4);" (assignment_expression "uVar8 = bfd_get_error(uVar5,iVar4)" (identifier "uVar8") (= "=") (call_expression "bfd_get_error(uVar5,iVar4)" (identifier "bfd_get_error") (argument_list "(uVar5,iVar4)" (( "(") (identifier "uVar5") (, ",") (identifier "iVar4") () ")")))) (; ";")) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" (identifier "uVar9") (= "=") (call_expression "bfd_errmsg(uVar8)" (identifier "bfd_errmsg") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "iVar14 = uVar2 * uVar5;" (assignment_expression "iVar14 = uVar2 * uVar5" (identifier "iVar14") (= "=") (binary_expression "uVar2 * uVar5" (identifier "uVar2") (* "*") (identifier "uVar5"))) (; ";")) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" (identifier "uVar8") (= "=") (pointer_expression "*DAT_00089944" (* "*") (identifier "DAT_00089944"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar10 = 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\'",iVar14,5);" (assignment_expression "uVar10 = 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\'",iVar14,5)" (identifier "uVar10") (= "=") (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\'",iVar14,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\'",iVar14,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 "iVar14") (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9)" (identifier "FUN_0002be00") (argument_list "(uVar10,iVar14,uVar3,uVar8,uVar9)" (( "(") (identifier "uVar10") (, ",") (identifier "iVar14") (, ",") (identifier "uVar3") (, ",") (identifier "uVar8") (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar19 = CARRY4(local_14c,uVar15);" (assignment_expression "bVar19 = CARRY4(local_14c,uVar15)" (identifier "bVar19") (= "=") (call_expression "CARRY4(local_14c,uVar15)" (identifier "CARRY4") (argument_list "(local_14c,uVar15)" (( "(") (identifier "local_14c") (, ",") (identifier "uVar15") () ")")))) (; ";")) (expression_statement "local_14c = local_14c + uVar15;" (assignment_expression "local_14c = local_14c + uVar15" (identifier "local_14c") (= "=") (binary_expression "local_14c + uVar15" (identifier "local_14c") (+ "+") (identifier "uVar15"))) (; ";")) (expression_statement "local_148 = local_148 + iVar13 + (uint)bVar19;" (assignment_expression "local_148 = local_148 + iVar13 + (uint)bVar19" (identifier "local_148") (= "=") (binary_expression "local_148 + iVar13 + (uint)bVar19" (binary_expression "local_148 + iVar13" (identifier "local_148") (+ "+") (identifier "iVar13")) (+ "+") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (expression_statement "bVar19 = local_154 < uVar5;" (assignment_expression "bVar19 = local_154 < uVar5" (identifier "bVar19") (= "=") (binary_expression "local_154 < uVar5" (identifier "local_154") (< "<") (identifier "uVar5"))) (; ";")) (expression_statement "local_154 = local_154 - uVar5;" (assignment_expression "local_154 = local_154 - uVar5" (identifier "local_154") (= "=") (binary_expression "local_154 - uVar5" (identifier "local_154") (- "-") (identifier "uVar5"))) (; ";")) (expression_statement "local_150 = (local_150 - iVar4) - (uint)bVar19;" (assignment_expression "local_150 = (local_150 - iVar4) - (uint)bVar19" (identifier "local_150") (= "=") (binary_expression "(local_150 - iVar4) - (uint)bVar19" (parenthesized_expression "(local_150 - iVar4)" (( "(") (binary_expression "local_150 - iVar4" (identifier "local_150") (- "-") (identifier "iVar4")) () ")")) (- "-") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (} "}")) (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              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" (else "else") (compound_statement "{\n            do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);\n          }" ({ "{") (do_statement "do {\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            } while (local_150 != 0 || local_154 != 0);" (do "do") (compound_statement "{\n              iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);\n              if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }\n              bVar19 = CARRY4(local_14c,uVar21);\n              local_14c = local_14c + uVar21;\n              local_148 = local_148 + iVar14 + (uint)bVar19;\n              bVar19 = local_154 != 0;\n              local_154 = local_154 - 1;\n              local_150 = local_150 + -1 + (uint)bVar19;\n            }" ({ "{") (expression_statement "iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);" (assignment_expression "iVar4 = bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" (identifier "iVar4") (= "=") (call_expression "bfd_set_section_contents\n                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" (identifier "bfd_set_section_contents") (argument_list "(DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14)" (( "(") (identifier "DAT_00089944") (, ",") (identifier "param_2") (, ",") (identifier "pbVar17") (, ",") (identifier "local_14c") (, ",") (identifier "local_148") (, ",") (identifier "uVar21") (, ",") (identifier "iVar14") () ")")))) (; ";")) (if_statement "if (iVar4 == 0) {\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }" (if "if") (parenthesized_expression "(iVar4 == 0)" (( "(") (binary_expression "iVar4 == 0" (identifier "iVar4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                uVar8 = bfd_get_error();\n                uVar9 = bfd_errmsg(uVar8);\n                uVar8 = *DAT_00089944;\n                uVar3 = *param_2;\n                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);\n              }" ({ "{") (expression_statement "uVar8 = bfd_get_error();" (assignment_expression "uVar8 = bfd_get_error()" (identifier "uVar8") (= "=") (call_expression "bfd_get_error()" (identifier "bfd_get_error") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar9 = bfd_errmsg(uVar8);" (assignment_expression "uVar9 = bfd_errmsg(uVar8)" (identifier "uVar9") (= "=") (call_expression "bfd_errmsg(uVar8)" (identifier "bfd_errmsg") (argument_list "(uVar8)" (( "(") (identifier "uVar8") () ")")))) (; ";")) (expression_statement "uVar8 = *DAT_00089944;" (assignment_expression "uVar8 = *DAT_00089944" (identifier "uVar8") (= "=") (pointer_expression "*DAT_00089944" (* "*") (identifier "DAT_00089944"))) (; ";")) (expression_statement "uVar3 = *param_2;" (assignment_expression "uVar3 = *param_2" (identifier "uVar3") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar10 = 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 "uVar10 = 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 "uVar10") (= "=") (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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);" (call_expression "FUN_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9)" (identifier "FUN_0002be00") (argument_list "(uVar10,uVar2,uVar3,uVar8,uVar9)" (( "(") (identifier "uVar10") (, ",") (identifier "uVar2") (, ",") (identifier "uVar3") (, ",") (identifier "uVar8") (, ",") (identifier "uVar9") () ")"))) (; ";")) (} "}"))) (expression_statement "bVar19 = CARRY4(local_14c,uVar21);" (assignment_expression "bVar19 = CARRY4(local_14c,uVar21)" (identifier "bVar19") (= "=") (call_expression "CARRY4(local_14c,uVar21)" (identifier "CARRY4") (argument_list "(local_14c,uVar21)" (( "(") (identifier "local_14c") (, ",") (identifier "uVar21") () ")")))) (; ";")) (expression_statement "local_14c = local_14c + uVar21;" (assignment_expression "local_14c = local_14c + uVar21" (identifier "local_14c") (= "=") (binary_expression "local_14c + uVar21" (identifier "local_14c") (+ "+") (identifier "uVar21"))) (; ";")) (expression_statement "local_148 = local_148 + iVar14 + (uint)bVar19;" (assignment_expression "local_148 = local_148 + iVar14 + (uint)bVar19" (identifier "local_148") (= "=") (binary_expression "local_148 + iVar14 + (uint)bVar19" (binary_expression "local_148 + iVar14" (identifier "local_148") (+ "+") (identifier "iVar14")) (+ "+") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (expression_statement "bVar19 = local_154 != 0;" (assignment_expression "bVar19 = local_154 != 0" (identifier "bVar19") (= "=") (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)bVar19;" (assignment_expression "local_150 = local_150 + -1 + (uint)bVar19" (identifier "local_150") (= "=") (binary_expression "local_150 + -1 + (uint)bVar19" (binary_expression "local_150 + -1" (identifier "local_150") (+ "+") (number_literal "-1")) (+ "+") (cast_expression "(uint)bVar19" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "bVar19")))) (; ";")) (} "}")) (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_0003cff8:\n        local_138 = *(int *)(local_138 + 0x30);" (statement_identifier "LAB_0003cff8") (: ":") (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_0002be80("../../gas/write.c",0x64f,"write_contents");" (call_expression "FUN_0002be80("../../gas/write.c",0x64f,"write_contents")" (identifier "FUN_0002be80") (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_15;
  type_5 count;
  int var_21;
  char *var_28;
  type_4 var_31;
  type_3 *var_24;
  int var_33;
  type_6 uVar8;
  char *pcVar9;
  type_6 uVar10;
  type_4 var_27;
  int var_34;
  int var_4;
  type_4 var_26;
  char *var_25;
  type_6 *var_29;
  int *var_22;
  bool bVar18;
  type_3 bVar19;
  type_4 var_32;
  type_4 var_17;
  int var_14;
  type_4 var_12;
  int var_13;
  type_4 var_5;
  type_7 *var_1;
  char *local_134;
  char buf [256];
  
  bVar19 = 0;
                    /* WARNING: Load size is inaccurate */
  if ((((type_6 *)sec->userdata == (type_6 *)0x0) || ((sec->flags & 0x100) == 0)) ||
     (var_1 = (type_7 *)**sec->userdata, var_1 == (type_7 *)0x0)) {
    return;
  }
  if ((var_1->fr_type == var_2) || (var_1->fr_type == var_3)) {
    var_12 = 0;
    var_13 = 0;
    do {
      var_5 = (type_4)var_1->fr_fix;
      var_4 = *(int *)((int)&var_1->fr_fix + 4);
      if (var_4 != 0 || var_5 != 0) {
        var_4 = var_6
                           (stdoutput,sec,var_1->fr_literal,var_12,var_13,var_5,var_4
                           );
        if (var_4 == 0) {
          uVar8 = var_7();
          uVar10 = var_8(uVar8);
          var_25 = stdoutput->filename;
          var_28 = sec->name;
          uVar8 = (type_6)var_1->fr_fix;
          pcVar9 = (char *)var_9(0,"can\'t write %ld byte to section %s of %s: \'%s\'",
                                      "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar8,5);
                    /* WARNING: Subroutine does not return */
          var_10(pcVar9,uVar8,var_28,var_25,uVar10);
        }
        var_5 = (type_4)var_1->fr_fix;
        bVar18 = var_11(var_12,var_5);
        var_12 = var_12 + var_5;
        var_13 = var_13 + *(int *)((int)&var_1->fr_fix + 4) + (type_4)bVar18;
      }
      var_15 = (type_4)var_1->fr_var;
      var_4 = *(int *)((int)&var_1->fr_var + 4);
      var_14 = *(int *)((int)&var_1->fr_offset + 4);
      var_17 = (type_4)var_1->fr_offset;
      count = var_1->fr_offset;
      var_25 = var_1->fr_literal + var_5;
      if (var_1->fr_type == var_3) {
        if ((var_14 < 0) || (var_15 != 1 || var_4 != 0)) {
                    /* WARNING: Subroutine does not return */
          var_16("../../gas/write.c",0x667,"write_contents");
        }
        if (var_14 == 0 && var_17 == 0) goto LAB_0003cff8;
        var_28 = (char *)var_18(var_17);
        var_19(var_1,var_28,count,(int)*var_25);
        var_4 = var_6
                           (stdoutput,sec,var_28,var_12,var_13,var_17,var_14);
        if (var_4 == 0) {
          uVar8 = var_7();
          uVar8 = var_8(uVar8);
          var_25 = stdoutput->filename;
          var_28 = sec->name;
          pcVar9 = (char *)var_9(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                      "can\'t fill %ld bytes in section %s of %s: \'%s\'",var_17,
                                      5);
                    /* WARNING: Subroutine does not return */
          var_10(pcVar9,var_17,var_28,var_25,uVar8);
        }
        bVar18 = var_11(var_12,var_17);
        var_12 = var_12 + var_17;
        var_13 = var_13 + var_14 + (type_4)bVar18;
        var_20(var_28);
        var_1 = var_1->fr_next;
      }
      else {
        if (var_14 < 0) {
                    /* WARNING: Subroutine does not return */
          var_16("../../gas/write.c",0x67d,"write_contents");
        }
        if ((var_15 != 0 || var_4 != 0) && (var_17 != 0 || var_14 != 0)) {
          var_32 = var_15;
          if (var_4 == 0 && (type_4)(0x100 < var_15) <= (type_4)-var_4) {
            if (var_4 == 0 && var_15 == 1) {
              var_31 = 0x100;
              bVar1 = *var_25;
              var_22 = (int *)buf;
              for (var_21 = 0x40; var_21 != 0; var_21 = var_21 + -1) {
                *var_22 = (type_4)bVar1 * 0x1010101;
                var_22 = var_22 + (type_4)bVar19 * -2 + 1;
              }
            }
            else {
              var_31 = var_23(0x100,0,var_15,var_4);
              var_24 = (type_3 *)buf;
              var_26 = var_31;
              do {
                while (var_15 < 4) {
                  if ((var_15 != 0) && (*var_24 = *var_25, (var_15 & 2) != 0)) {
                    *(type_8 *)(var_24 + (var_15 - 2)) = *(type_8 *)(var_25 + (var_15 - 2));
                  }
                  var_24 = var_24 + var_15;
                  var_26 = var_26 - 1;
                  if (var_26 == 0) goto LAB_0003d249;
                }
                *(type_6 *)var_24 = *(type_6 *)var_25;
                *(type_6 *)(var_24 + (var_15 - 4)) = *(type_6 *)(var_25 + (var_15 - 4));
                var_21 = (int)var_24 - (int)((type_4)(var_24 + 4) & 0xfffffffc);
                var_28 = var_25 + -var_21;
                var_29 = (type_6 *)((type_4)(var_24 + 4) & 0xfffffffc);
                for (var_27 = var_21 + var_15 >> 2; var_27 != 0; var_27 = var_27 - 1) {
                  *var_29 = *(type_6 *)var_28;
                  var_28 = var_28 + ((type_4)bVar19 * -2 + 1) * 4;
                  var_29 = var_29 + (type_4)bVar19 * -2 + 1;
                }
                var_26 = var_26 - 1;
                var_24 = var_24 + var_15;
              } while (var_26 != 0);
            }
LAB_0003d249:
            do {
              local_134 = buf;
              var_21 = (int)var_31 >> 0x1f;
              if ((var_30(var_14,var_21) !=
                  var_30(var_14 - var_21,(type_4)(var_17 < var_31))) !=
                  (int)((var_14 - var_21) - (type_4)(var_17 < var_31)) < 0) {
                var_31 = var_17;
                var_21 = var_14;
              }
              var_26 = (type_4)((type_9)var_32 * (type_9)var_31);
              var_34 = (int)((type_9)var_32 * (type_9)var_31 >> 0x20) +
                       var_32 * var_21 + var_4 * var_31;
              var_33 = var_6
                                (stdoutput,sec,local_134,var_12,var_13,var_26,var_34);
              if (var_33 == 0) {
                uVar8 = var_7(var_31,var_21);
                uVar8 = var_8(uVar8);
                var_4 = var_15 * var_31;
                var_25 = stdoutput->filename;
                var_28 = sec->name;
                pcVar9 = (char *)var_9(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_10(pcVar9,var_4,var_28,var_25,uVar8);
              }
              bVar18 = var_11(var_12,var_26);
              var_12 = var_12 + var_26;
              var_13 = var_13 + var_34 + (type_4)bVar18;
              bVar18 = var_17 < var_31;
              var_17 = var_17 - var_31;
              var_14 = (var_14 - var_21) - (type_4)bVar18;
            } while (-var_14 < (int)(type_4)(var_17 != 0));
          }
          else {
            do {
              var_21 = var_6
                                (stdoutput,sec,var_25,var_12,var_13,var_32,var_4);
              if (var_21 == 0) {
                uVar8 = var_7();
                uVar8 = var_8(uVar8);
                var_25 = stdoutput->filename;
                var_28 = sec->name;
                pcVar9 = (char *)var_9(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_10(pcVar9,var_15,var_28,var_25,uVar8);
              }
              bVar18 = var_11(var_12,var_32);
              var_12 = var_12 + var_32;
              var_13 = var_13 + var_4 + (type_4)bVar18;
              bVar18 = var_17 != 0;
              var_17 = var_17 - 1;
              var_14 = var_14 + -1 + (type_4)bVar18;
            } while (var_14 != 0 || var_17 != 0);
          }
        }
LAB_0003cff8:
        var_1 = var_1->fr_next;
      }
      if (var_1 == (type_10 *)0x0) {
        return;
      }
    } while ((var_1->fr_type == var_2) || (var_1->fr_type == var_3));
  }
                    /* WARNING: Subroutine does not return */
  var_16("../../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: (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: (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: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (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))))))) (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)))))) (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 (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (cast_expression type: (type_descriptor type: (primitive_type)) value: (cast_expression type: (type_descriptor type: (primitive_type)) value: (pointer_expression argument: (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: (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;
  int iVar4;
  void *__ptr;
  uint uVar5;
  byte *pbVar6;
  int iVar7;
  undefined4 uVar8;
  undefined4 uVar9;
  undefined4 uVar10;
  undefined4 uVar11;
  uint uVar12;
  int iVar13;
  int iVar14;
  uint uVar15;
  byte *pbVar16;
  byte *pbVar17;
  undefined4 *puVar18;
  bool bVar19;
  byte bVar20;
  uint uVar21;
  uint local_154;
  int local_150;
  uint local_14c;
  int local_148;
  uint local_144;
  int local_138;
  byte *local_134;
  byte local_11c [268];
  
  bVar20 = 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 {
      local_144 = *(uint *)(local_138 + 0x10);
      if (*(int *)(local_138 + 0x14) != 0 || local_144 != 0) {
        iVar14 = bfd_set_section_contents
                           (DAT_00089944,param_2,local_138 + 0x68,local_14c,local_148,local_144,
                            *(int *)(local_138 + 0x14));
        if (iVar14 == 0) {
          uVar8 = bfd_get_error();
          uVar10 = bfd_errmsg(uVar8);
          uVar8 = *DAT_00089944;
          uVar3 = *param_2;
          uVar9 = *(undefined4 *)(local_138 + 0x10);
          uVar11 = dcngettext(0,"can\'t write %ld byte to section %s of %s: \'%s\'",
                              "can\'t write %ld bytes to section %s of %s: \'%s\'",uVar9,5);
                    /* WARNING: Subroutine does not return */
          FUN_0002be00(uVar11,uVar9,uVar3,uVar8,uVar10);
        }
        local_144 = *(uint *)(local_138 + 0x10);
        bVar19 = CARRY4(local_14c,local_144);
        local_14c = local_14c + local_144;
        local_148 = local_148 + *(int *)(local_138 + 0x14) + (uint)bVar19;
      }
      uVar2 = *(uint *)(local_138 + 0x18);
      iVar14 = *(int *)(local_138 + 0x1c);
      local_150 = *(int *)(local_138 + 0x24);
      local_154 = *(uint *)(local_138 + 0x20);
      pbVar17 = (byte *)(local_144 + local_138 + 0x68);
      if (*(int *)(local_138 + 0x44) == 10) {
        if ((local_150 < 0) || (uVar2 != 1 || iVar14 != 0)) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/write.c",0x667,"write_contents");
        }
        if (local_150 == 0 && local_154 == 0) goto LAB_0003cff8;
        __ptr = (void *)xmalloc(local_154);
        FUN_0004dea0(local_138,__ptr,local_154,local_150,(int)(char)*pbVar17);
        iVar14 = bfd_set_section_contents
                           (DAT_00089944,param_2,__ptr,local_14c,local_148,local_154,local_150);
        if (iVar14 == 0) {
          uVar8 = bfd_get_error();
          uVar9 = bfd_errmsg(uVar8);
          uVar8 = *DAT_00089944;
          uVar3 = *param_2;
          uVar10 = 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_0002be00(uVar10,local_154,uVar3,uVar8,uVar9);
        }
        bVar19 = CARRY4(local_14c,local_154);
        local_14c = local_14c + local_154;
        local_148 = local_148 + local_150 + (uint)bVar19;
        free(__ptr);
        local_138 = *(int *)(local_138 + 0x30);
      }
      else {
        if (local_150 < 0) {
                    /* WARNING: Subroutine does not return */
          FUN_0002be80("../../gas/write.c",0x67d,"write_contents");
        }
        if ((uVar2 != 0 || iVar14 != 0) && (local_154 != 0 || local_150 != 0)) {
          uVar21 = uVar2;
          if (iVar14 == 0 && (uint)(0x100 < uVar2) <= (uint)-iVar14) {
            if (iVar14 == 0 && uVar2 == 1) {
              uVar5 = 0x100;
              bVar1 = *pbVar17;
              pbVar17 = local_11c;
              for (iVar4 = 0x40; iVar4 != 0; iVar4 = iVar4 + -1) {
                *(uint *)pbVar17 = (uint)bVar1 * 0x1010101;
                pbVar17 = pbVar17 + ((uint)bVar20 * -2 + 1) * 4;
              }
            }
            else {
              uVar5 = FUN_00059d00(0x100,0,uVar2,iVar14);
              pbVar6 = local_11c;
              uVar15 = uVar5;
              do {
                while (uVar2 < 4) {
                  if ((uVar2 != 0) && (*pbVar6 = *pbVar17, (uVar2 & 2) != 0)) {
                    *(undefined2 *)(pbVar6 + (uVar2 - 2)) = *(undefined2 *)(pbVar17 + (uVar2 - 2));
                  }
                  pbVar6 = pbVar6 + uVar2;
                  uVar15 = uVar15 - 1;
                  if (uVar15 == 0) goto LAB_0003d249;
                }
                *(undefined4 *)pbVar6 = *(undefined4 *)pbVar17;
                *(undefined4 *)(pbVar6 + (uVar2 - 4)) = *(undefined4 *)(pbVar17 + (uVar2 - 4));
                iVar4 = (int)pbVar6 - (int)((uint)(pbVar6 + 4) & 0xfffffffc);
                pbVar16 = pbVar17 + -iVar4;
                puVar18 = (undefined4 *)((uint)(pbVar6 + 4) & 0xfffffffc);
                for (uVar12 = iVar4 + uVar2 >> 2; uVar12 != 0; uVar12 = uVar12 - 1) {
                  *puVar18 = *(undefined4 *)pbVar16;
                  pbVar16 = pbVar16 + ((uint)bVar20 * -2 + 1) * 4;
                  puVar18 = puVar18 + (uint)bVar20 * -2 + 1;
                }
                uVar15 = uVar15 - 1;
                pbVar6 = pbVar6 + uVar2;
              } while (uVar15 != 0);
            }
LAB_0003d249:
            do {
              local_134 = local_11c;
              iVar4 = (int)uVar5 >> 0x1f;
              if ((SBORROW4(local_150,iVar4) !=
                  SBORROW4(local_150 - iVar4,(uint)(local_154 < uVar5))) !=
                  (int)((local_150 - iVar4) - (uint)(local_154 < uVar5)) < 0) {
                uVar5 = local_154;
                iVar4 = local_150;
              }
              uVar15 = (uint)((ulonglong)uVar21 * (ulonglong)uVar5);
              iVar13 = (int)((ulonglong)uVar21 * (ulonglong)uVar5 >> 0x20) +
                       uVar21 * iVar4 + iVar14 * uVar5;
              iVar7 = bfd_set_section_contents
                                (DAT_00089944,param_2,local_134,local_14c,local_148,uVar15,iVar13);
              if (iVar7 == 0) {
                uVar8 = bfd_get_error(uVar5,iVar4);
                uVar9 = bfd_errmsg(uVar8);
                iVar14 = uVar2 * uVar5;
                uVar8 = *DAT_00089944;
                uVar3 = *param_2;
                uVar10 = dcngettext(0,"can\'t fill %ld byte in section %s of %s: \'%s\'",
                                    "can\'t fill %ld bytes in section %s of %s: \'%s\'",iVar14,5);
                    /* WARNING: Subroutine does not return */
                FUN_0002be00(uVar10,iVar14,uVar3,uVar8,uVar9);
              }
              bVar19 = CARRY4(local_14c,uVar15);
              local_14c = local_14c + uVar15;
              local_148 = local_148 + iVar13 + (uint)bVar19;
              bVar19 = local_154 < uVar5;
              local_154 = local_154 - uVar5;
              local_150 = (local_150 - iVar4) - (uint)bVar19;
            } while (-local_150 < (int)(uint)(local_154 != 0));
          }
          else {
            do {
              iVar4 = bfd_set_section_contents
                                (DAT_00089944,param_2,pbVar17,local_14c,local_148,uVar21,iVar14);
              if (iVar4 == 0) {
                uVar8 = bfd_get_error();
                uVar9 = bfd_errmsg(uVar8);
                uVar8 = *DAT_00089944;
                uVar3 = *param_2;
                uVar10 = 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_0002be00(uVar10,uVar2,uVar3,uVar8,uVar9);
              }
              bVar19 = CARRY4(local_14c,uVar21);
              local_14c = local_14c + uVar21;
              local_148 = local_148 + iVar14 + (uint)bVar19;
              bVar19 = local_154 != 0;
              local_154 = local_154 - 1;
              local_150 = local_150 + -1 + (uint)bVar19;
            } while (local_150 != 0 || local_154 != 0);
          }
        }
LAB_0003cff8:
        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_0002be80("../../gas/write.c",0x64f,"write_contents");
}

