
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_init_layout(Sized_incremental_binary<64,_true> * this, Layout *
   layout) */

void __thiscall
gold::Sized_incremental_binary<64,_true>::do_init_layout
          (Sized_incremental_binary<64,_true> *this,Layout *layout)

{
  uchar uVar1;
  uint uVar2;
  uint uVar3;
  long lVar4;
  pointer ppOVar5;
  pointer ppOVar6;
  ulong uVar7;
  ulong uVar8;
  long lVar9;
  ulong uVar10;
  ulong uVar11;
  uchar *name;
  Output_section *pOVar12;
  Output_file *this_1;
  Shdr_data<64> *pSVar13;
  size_t size;
  uchar *puVar14;
  Output_file *this_00;
  bool bVar15;
  Location LVar16;
  Shdr shdr;
  
  this_00 = (Output_file *)&this->elf_file_;
  lVar4 = (this->elf_file_).shoff_;
  elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum
            ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00);
  uVar2 = (this->elf_file_).shnum_;
  elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum
            ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00);
  uVar3 = (this->elf_file_).shstrndx_;
  uVar10 = (ulong)uVar3;
  LVar16 = elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::section_contents
                     ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00,uVar3);
  size = LVar16.data_size;
  lVar9 = LVar16.file_offset;
  this_1 = (this->super_Incremental_binary).output_;
  if ((((-1 < lVar4) &&
       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)) &&
      (this_1 = (Output_file *)this_1->base_, -1 < lVar9)) &&
     (this_00 = (Output_file *)(size + lVar9), (long)this_00 <= (long)uVar10)) {
    if (size == 0) {
      size = 0;
    }
    else {
      uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);
      while ((uVar1 != '\0' && (size = size - 1, size != 0))) {
        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);
      }
    }
    Layout::set_incremental_base(layout,&this->super_Incremental_binary);
    ppOVar5 = (this->section_map_).
              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
              _M_impl._M_finish;
    uVar11 = (ulong)uVar2;
    ppOVar6 = (this->section_map_).
              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
              _M_impl._M_start;
    uVar10 = (long)ppOVar5 - (long)ppOVar6 >> 3;
    if (uVar10 < uVar11) {
      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append
                (&this->section_map_,uVar11 - uVar10);
    }
    else if ((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)) {
      (this->section_map_).
      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
      _M_finish = ppOVar6;
    }
    pSVar13 = (Shdr_data<64> *)((long)&this_1[1].base_ + lVar4);
    if (1 < uVar2) {
      uVar10 = 0;
      do {
        uVar3 = pSVar13->sh_name;
        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                        uVar3 << 0x18);
        name = (uchar *)0x0;
        if (uVar11 < size) {
          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);
        }
        shdr.p_ = pSVar13;
        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))
        {
          uVar3 = pSVar13->sh_type;
          puVar14 = (uchar *)"<null>";
          if (name != (uchar *)0x0) {
            puVar14 = name;
          }
          uVar11 = pSVar13->sh_size;
          uVar7 = pSVar13->sh_offset;
          uVar8 = pSVar13->sh_addr;
          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",
                        (ulong)((int)uVar10 + 1),
                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |
                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |
                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |
                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,
                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |
                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |
                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |
                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,
                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |
                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |
                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |
                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,
                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                               uVar3 << 0x18),puVar14);
        }
        pSVar13 = pSVar13 + 1;
        ppOVar6 = (this->section_map_).
                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.
                  _M_impl._M_start;
        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);
        ppOVar6[uVar10 + 1] = pOVar12;
        bVar15 = uVar2 - 2 != uVar10;
        uVar10 = uVar10 + 1;
      } while (bVar15);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  Output_file::get_output_view(this_00,uVar10,size,this_1);
}



void FUN_00197980(long param_1,undefined8 param_2)

{
  char cVar1;
  uint uVar2;
  uint uVar3;
  long lVar4;
  long lVar5;
  long lVar6;
  ulong uVar7;
  ulong uVar8;
  long lVar9;
  ulong uVar10;
  ulong uVar11;
  char *pcVar12;
  undefined8 uVar13;
  uint *puVar14;
  ulong uVar15;
  char *pcVar16;
  bool bVar17;
  undefined1 auVar18 [16];
  uint *local_40 [2];
  
  lVar9 = param_1 + 0x58;
  lVar4 = *(long *)(param_1 + 0x60);
  FUN_001976d0(lVar9);
  uVar2 = *(uint *)(param_1 + 0x68);
  FUN_001976d0(lVar9);
  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));
  uVar15 = auVar18._8_8_;
  lVar9 = auVar18._0_8_;
  if ((((-1 < lVar4) &&
       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),
       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&
      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&
     ((long)(uVar15 + lVar9) <= lVar5)) {
    lVar9 = lVar6 + lVar9;
    if (uVar15 == 0) {
      uVar15 = 0;
    }
    else {
      cVar1 = *(char *)(lVar9 + -1 + uVar15);
      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {
        cVar1 = *(char *)(lVar9 + -1 + uVar15);
      }
    }
    FUN_001a4d30(param_2,param_1);
    uVar11 = (ulong)uVar2;
    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;
    if (uVar10 < uVar11) {
      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);
    }
    else if ((uVar11 < uVar10) &&
            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {
      *(long *)(param_1 + 0x98) = lVar5;
    }
    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);
    if (1 < uVar2) {
      uVar10 = 0;
      do {
        uVar3 = *puVar14;
        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                        uVar3 << 0x18);
        pcVar12 = (char *)0x0;
        if (uVar11 < uVar15) {
          pcVar12 = (char *)(lVar9 + uVar11);
        }
        local_40[0] = puVar14;
        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {
          uVar3 = puVar14[1];
          pcVar16 = "<null>";
          if (pcVar12 != (char *)0x0) {
            pcVar16 = pcVar12;
          }
          uVar11 = *(ulong *)(puVar14 + 8);
          uVar7 = *(ulong *)(puVar14 + 6);
          uVar8 = *(ulong *)(puVar14 + 4);
          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,
                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,
                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |
                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |
                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |
                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,
                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |
                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |
                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |
                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,
                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |
                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |
                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |
                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,
                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                       uVar3 << 0x18,pcVar16);
        }
        puVar14 = puVar14 + 0x10;
        lVar4 = *(long *)(param_1 + 0x90);
        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);
        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;
        bVar17 = uVar2 - 2 != uVar10;
        uVar10 = uVar10 + 1;
      } while (bVar17);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00182e30();
}


PUSH R15
PUSH R14
PUSH R13
MOV R13,RDI
PUSH R12
LEA R12,[RDI + 0x58]
PUSH RBP
PUSH RBX
SUB RSP,0x48
MOV RBX,qword ptr [RDI + 0x60]
MOV RDI,R12
MOV qword ptr [RSP + 0x8],RSI
CALL 0x001976d0
MOV R15D,dword ptr [R13 + 0x68]
MOV RDI,R12
CALL 0x001976d0
MOV ESI,dword ptr [R13 + 0x6c]
MOV RDI,R12
MOV EBP,R15D
CALL 0x001978e0
SHL EBP,0x6
MOV RCX,qword ptr [R13 + 0x50]
TEST RBX,RBX
JS 0x00197bb8
MOV RSI,qword ptr [RCX + 0x10]
ADD RBP,RBX
CMP RSI,RBP
JL 0x00197bb8
MOV RCX,qword ptr [RCX + 0x18]
TEST RAX,RAX
JS 0x00197bb8
LEA RDI,[RDX + RAX*0x1]
CMP RSI,RDI
JL 0x00197bb8
LEA R12,[RCX + RAX*0x1]
TEST RDX,RDX
JZ 0x00197ba9
CMP byte ptr [R12 + RDX*0x1 + -0x1],0x0
LEA RBP,[RDX + -0x1]
JNZ 0x00197a2f
JMP 0x00197bb0
CMP byte ptr [R12 + RBP*0x1 + -0x1],0x0
LEA RAX,[RBP + -0x1]
JZ 0x00197a34
MOV RBP,RAX
TEST RBP,RBP
JNZ 0x00197a20
MOV RDI,qword ptr [RSP + 0x8]
MOV RSI,R13
MOV qword ptr [RSP + 0x10],RCX
CALL 0x001a4d30
MOV RDX,qword ptr [R13 + 0x98]
MOV ESI,R15D
MOV RDI,qword ptr [R13 + 0x90]
MOV RCX,qword ptr [RSP + 0x10]
MOV RAX,RDX
SUB RAX,RDI
SAR RAX,0x3
CMP RSI,RAX
JA 0x00197b90
JC 0x00197b70
LEA RBX,[RCX + RBX*0x1 + 0x40]
CMP R15D,0x1
JBE 0x00197b60
LEA EAX,[R15 + -0x2]
XOR R15D,R15D
MOV qword ptr [RSP + 0x20],R12
MOV qword ptr [RSP + 0x10],RAX
LEA RAX,[RSP + 0x38]
MOV R14,R15
MOV qword ptr [RSP + 0x18],RAX
MOV qword ptr [RSP + 0x28],RBP
JMP 0x00197ab3
MOV R14,R12
MOV EAX,dword ptr [RBX]
MOV RDI,qword ptr [RSP + 0x20]
LEA EDX,[R14 + 0x1]
MOV qword ptr [RSP + 0x38],RBX
BSWAP EAX
MOV EAX,EAX
CMP RAX,qword ptr [RSP + 0x28]
LEA R10,[RDI + RAX*0x1]
MOV EAX,0x0
CMOVC RAX,R10
MOV RBP,RAX
MOV RAX,qword ptr [0x0043e6b0]
CMP qword ptr [RAX + 0x10],0x0
JZ 0x00197b2d
TEST byte ptr [RAX + 0x24],0x10
JZ 0x00197b2d
TEST RBP,RBP
LEA RSI,[0x373909]
MOV RDI,qword ptr [RAX]
MOV EAX,dword ptr [RBX + 0x4]
CMOVNZ RSI,RBP
MOV R9,qword ptr [RBX + 0x20]
MOV R8,qword ptr [RBX + 0x18]
MOV RCX,qword ptr [RBX + 0x10]
BSWAP EAX
PUSH RSI
LEA RSI,[0x373910]
BSWAP R9
BSWAP R8
PUSH RAX
XOR EAX,EAX
BSWAP RCX
CALL 0x00178100
POP RAX
POP RDX
MOV RDX,qword ptr [RSP + 0x18]
LEA R12,[R14 + 0x1]
MOV RSI,RBP
ADD RBX,0x40
MOV RAX,qword ptr [R13 + 0x90]
MOV RDI,qword ptr [RSP + 0x8]
LEA R15,[RAX + R12*0x8]
CALL 0x001b6c40
MOV qword ptr [R15],RAX
CMP qword ptr [RSP + 0x10],R14
JNZ 0x00197ab0
ADD RSP,0x48
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA RAX,[RDI + RSI*0x8]
CMP RDX,RAX
JZ 0x00197a75
MOV qword ptr [R13 + 0x98],RAX
JMP 0x00197a75
SUB RSI,RAX
LEA RDI,[R13 + 0x90]
CALL 0x00192810
MOV RCX,qword ptr [RSP + 0x10]
JMP 0x00197a75
XOR EBP,EBP
JMP 0x00197a34
MOV RBP,RDX
JMP 0x00197a34
CALL 0x00182e30
(translation_unit "void FUN_00197980(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00182e30();\n}\n\n" (function_definition "void FUN_00197980(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00182e30();\n}" primitive_type (function_declarator "FUN_00197980(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00182e30();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined1 auVar18 [16];" type_identifier (array_declarator "auVar18 [16]" identifier [ number_literal ]) ;) (declaration "uint *local_40 [2];" type_identifier (pointer_declarator "*local_40 [2]" * (array_declarator "local_40 [2]" identifier [ number_literal ])) ;) (expression_statement "lVar9 = param_1 + 0x58;" (assignment_expression "lVar9 = param_1 + 0x58" identifier = (binary_expression "param_1 + 0x58" identifier + number_literal)) ;) (expression_statement "lVar4 = *(long *)(param_1 + 0x60);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x60)" identifier = (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "FUN_001976d0(lVar9);" (call_expression "FUN_001976d0(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;) (expression_statement "uVar2 = *(uint *)(param_1 + 0x68);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x68)" identifier = (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "FUN_001976d0(lVar9);" (call_expression "FUN_001976d0(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;) (expression_statement "auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));" (assignment_expression "auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c))" identifier = (call_expression "FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c))" identifier (argument_list "(lVar9,*(undefined4 *)(param_1 + 0x6c))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" * (cast_expression "(undefined4 *)(param_1 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) )))) ;) (expression_statement "uVar15 = auVar18._8_8_;" (assignment_expression "uVar15 = auVar18._8_8_" identifier = (field_expression "auVar18._8_8_" identifier . field_identifier)) ;) (expression_statement "lVar9 = auVar18._0_8_;" (assignment_expression "lVar9 = auVar18._0_8_" identifier = (field_expression "auVar18._0_8_" identifier . field_identifier)) ;) (if_statement "if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }" if (parenthesized_expression "((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5))" ( (binary_expression "(((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)" (parenthesized_expression "(((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9))" ( (binary_expression "((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)" (parenthesized_expression "((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5))" ( (binary_expression "(-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)" (parenthesized_expression "(-1 < lVar4)" ( (binary_expression "-1 < lVar4" number_literal < identifier) )) && (parenthesized_expression "(lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)" ( (comma_expression "lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5" (assignment_expression "lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + 0x10)" * (cast_expression "(long *)(*(long *)(param_1 + 0x50) + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + 0x10)" ( (binary_expression "*(long *)(param_1 + 0x50) + 0x10" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "(long)((ulong)(uVar2 << 6) + lVar4) <= lVar5" (cast_expression "(long)((ulong)(uVar2 << 6) + lVar4)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((ulong)(uVar2 << 6) + lVar4)" ( (binary_expression "(ulong)(uVar2 << 6) + lVar4" (call_expression "(ulong)(uVar2 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 << 6)" ( (binary_expression "uVar2 << 6" identifier << number_literal) ))) + identifier) ))) <= identifier)) ))) )) && (parenthesized_expression "(lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)" ( (comma_expression "lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9" (assignment_expression "lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + 0x18)" * (cast_expression "(long *)(*(long *)(param_1 + 0x50) + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + 0x18)" ( (binary_expression "*(long *)(param_1 + 0x50) + 0x18" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "-1 < lVar9" number_literal < identifier)) ))) )) && (parenthesized_expression "((long)(uVar15 + lVar9) <= lVar5)" ( (binary_expression "(long)(uVar15 + lVar9) <= lVar5" (cast_expression "(long)(uVar15 + lVar9)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(uVar15 + lVar9)" ( (binary_expression "uVar15 + lVar9" identifier + identifier) ))) <= identifier) ))) )) (compound_statement "{\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }" { (expression_statement "lVar9 = lVar6 + lVar9;" (assignment_expression "lVar9 = lVar6 + lVar9" identifier = (binary_expression "lVar6 + lVar9" identifier + identifier)) ;) (if_statement "if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar15 = 0;\n    }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" else (compound_statement "{\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" { (expression_statement "cVar1 = *(char *)(lVar9 + -1 + uVar15);" (assignment_expression "cVar1 = *(char *)(lVar9 + -1 + uVar15)" identifier = (pointer_expression "*(char *)(lVar9 + -1 + uVar15)" * (cast_expression "(char *)(lVar9 + -1 + uVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + -1 + uVar15)" ( (binary_expression "lVar9 + -1 + uVar15" (binary_expression "lVar9 + -1" identifier + number_literal) + identifier) ))))) ;) (while_statement "while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }" while (parenthesized_expression "((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0)))" ( (parenthesized_expression "(cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))" ( (binary_expression "cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0)" (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(uVar15 = uVar15 - 1, uVar15 != 0)" ( (comma_expression "uVar15 = uVar15 - 1, uVar15 != 0" (assignment_expression "uVar15 = uVar15 - 1" identifier = (binary_expression "uVar15 - 1" identifier - number_literal)) , (binary_expression "uVar15 != 0" identifier != number_literal)) ))) )) )) (compound_statement "{\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }" { (expression_statement "cVar1 = *(char *)(lVar9 + -1 + uVar15);" (assignment_expression "cVar1 = *(char *)(lVar9 + -1 + uVar15)" identifier = (pointer_expression "*(char *)(lVar9 + -1 + uVar15)" * (cast_expression "(char *)(lVar9 + -1 + uVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + -1 + uVar15)" ( (binary_expression "lVar9 + -1 + uVar15" (binary_expression "lVar9 + -1" identifier + number_literal) + identifier) ))))) ;) })) }))) (expression_statement "FUN_001a4d30(param_2,param_1);" (call_expression "FUN_001a4d30(param_2,param_1)" identifier (argument_list "(param_2,param_1)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = (ulong)uVar2;" (assignment_expression "uVar11 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;" (assignment_expression "uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3" identifier = (binary_expression "*(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3" (binary_expression "*(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90)" (pointer_expression "*(long *)(param_1 + 0x98)" * (cast_expression "(long *)(param_1 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x90)" * (cast_expression "(long *)(param_1 + 0x90)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" if (parenthesized_expression "(uVar10 < uVar11)" ( (binary_expression "uVar10 < uVar11" identifier < identifier) )) (compound_statement "{\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }" { (expression_statement "FUN_00192810(param_1 + 0x90,uVar11 - uVar10);" (call_expression "FUN_00192810(param_1 + 0x90,uVar11 - uVar10)" identifier (argument_list "(param_1 + 0x90,uVar11 - uVar10)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) , (binary_expression "uVar11 - uVar10" identifier - identifier) ))) ;) }) (else_clause "else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" else (if_statement "if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" if (parenthesized_expression "((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5))" ( (binary_expression "(uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)" (parenthesized_expression "(uVar11 < uVar10)" ( (binary_expression "uVar11 < uVar10" identifier < identifier) )) && (parenthesized_expression "(lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)" ( (comma_expression "lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5" (assignment_expression "lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8" identifier = (binary_expression "*(long *)(param_1 + 0x90) + uVar11 * 8" (pointer_expression "*(long *)(param_1 + 0x90)" * (cast_expression "(long *)(param_1 + 0x90)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) + (binary_expression "uVar11 * 8" identifier * number_literal))) , (binary_expression "*(long *)(param_1 + 0x98) != lVar5" (pointer_expression "*(long *)(param_1 + 0x98)" * (cast_expression "(long *)(param_1 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" { (expression_statement "*(long *)(param_1 + 0x98) = lVar5;" (assignment_expression "*(long *)(param_1 + 0x98) = lVar5" (pointer_expression "*(long *)(param_1 + 0x98)" * (cast_expression "(long *)(param_1 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))) = identifier) ;) })))) (expression_statement "puVar14 = (uint *)(lVar6 + 0x40 + lVar4);" (assignment_expression "puVar14 = (uint *)(lVar6 + 0x40 + lVar4)" identifier = (cast_expression "(uint *)(lVar6 + 0x40 + lVar4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x40 + lVar4)" ( (binary_expression "lVar6 + 0x40 + lVar4" (binary_expression "lVar6 + 0x40" identifier + number_literal) + identifier) )))) ;) (if_statement "if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }" if (parenthesized_expression "(1 < uVar2)" ( (binary_expression "1 < uVar2" number_literal < identifier) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);" do (compound_statement "{\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      }" { (expression_statement "uVar3 = *puVar14;" (assignment_expression "uVar3 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);" (assignment_expression "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" identifier = (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "pcVar12 = (char *)0x0;" (assignment_expression "pcVar12 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }" if (parenthesized_expression "(uVar11 < uVar15)" ( (binary_expression "uVar11 < uVar15" identifier < identifier) )) (compound_statement "{\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }" { (expression_statement "pcVar12 = (char *)(lVar9 + uVar11);" (assignment_expression "pcVar12 = (char *)(lVar9 + uVar11)" identifier = (cast_expression "(char *)(lVar9 + uVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + uVar11)" ( (binary_expression "lVar9 + uVar11" identifier + identifier) )))) ;) })) (expression_statement "local_40[0] = puVar14;" (assignment_expression "local_40[0] = puVar14" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }" if (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }" { (expression_statement "uVar3 = puVar14[1];" (assignment_expression "uVar3 = puVar14[1]" identifier = (subscript_expression "puVar14[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar16 = "<null>";" (assignment_expression "pcVar16 = "<null>"" identifier = (string_literal ""<null>"" " string_content ")) ;) (if_statement "if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }" if (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar16 = pcVar12;\n          }" { (expression_statement "pcVar16 = pcVar12;" (assignment_expression "pcVar16 = pcVar12" identifier = identifier) ;) })) (expression_statement "uVar11 = *(ulong *)(puVar14 + 8);" (assignment_expression "uVar11 = *(ulong *)(puVar14 + 8)" identifier = (pointer_expression "*(ulong *)(puVar14 + 8)" * (cast_expression "(ulong *)(puVar14 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 8)" ( (binary_expression "puVar14 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(ulong *)(puVar14 + 6);" (assignment_expression "uVar7 = *(ulong *)(puVar14 + 6)" identifier = (pointer_expression "*(ulong *)(puVar14 + 6)" * (cast_expression "(ulong *)(puVar14 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 6)" ( (binary_expression "puVar14 + 6" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(ulong *)(puVar14 + 4);" (assignment_expression "uVar8 = *(ulong *)(puVar14 + 4)" identifier = (pointer_expression "*(ulong *)(puVar14 + 4)" * (cast_expression "(ulong *)(puVar14 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 4)" ( (binary_expression "puVar14 + 4" identifier + number_literal) ))))) ;) (expression_statement "FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);" (call_expression "FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16)" identifier (argument_list "(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16)" ( (pointer_expression "*(undefined8 *)PTR_DAT_0043e6b0" * (cast_expression "(undefined8 *)PTR_DAT_0043e6b0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""Output section: %2d %08lx %08lx %08lx %3d %s"" " string_content ") , (binary_expression "(int)uVar10 + 1" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28" (binary_expression "uVar8 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar8 & 0xff000000000000)" ( (binary_expression "uVar8 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xff0000000000)" ( (binary_expression "uVar8 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00000000) >> 8" (parenthesized_expression "(uVar8 & 0xff00000000)" ( (binary_expression "uVar8 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff000000) << 8" (parenthesized_expression "(uVar8 & 0xff000000)" ( (binary_expression "uVar8 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff0000) << 0x18" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x38" identifier << number_literal)) , (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" ( (binary_expression "uVar7 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" ( (binary_expression "uVar7 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" ( (binary_expression "uVar7 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" ( (binary_expression "uVar7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x38" identifier << number_literal)) , (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28" (binary_expression "uVar11 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar11 & 0xff000000000000)" ( (binary_expression "uVar11 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar11 & 0xff0000000000)" ( (binary_expression "uVar11 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00000000) >> 8" (parenthesized_expression "(uVar11 & 0xff00000000)" ( (binary_expression "uVar11 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff000000) << 8" (parenthesized_expression "(uVar11 & 0xff000000)" ( (binary_expression "uVar11 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff0000) << 0x18" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff00) << 0x28" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x38" identifier << number_literal)) , (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) , identifier ))) ;) })) (expression_statement "puVar14 = puVar14 + 0x10;" (assignment_expression "puVar14 = puVar14 + 0x10" identifier = (binary_expression "puVar14 + 0x10" identifier + number_literal)) ;) (expression_statement "lVar4 = *(long *)(param_1 + 0x90);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x90)" identifier = (pointer_expression "*(long *)(param_1 + 0x90)" * (cast_expression "(long *)(param_1 + 0x90)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);" (assignment_expression "uVar13 = FUN_001b6c40(param_2,pcVar12,local_40)" identifier = (call_expression "FUN_001b6c40(param_2,pcVar12,local_40)" identifier (argument_list "(param_2,pcVar12,local_40)" ( identifier , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;" (assignment_expression "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13" (pointer_expression "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8)" * (cast_expression "(undefined8 *)(lVar4 + (uVar10 + 1) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + (uVar10 + 1) * 8)" ( (binary_expression "lVar4 + (uVar10 + 1) * 8" identifier + (binary_expression "(uVar10 + 1) * 8" (parenthesized_expression "(uVar10 + 1)" ( (binary_expression "uVar10 + 1" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "bVar17 = uVar2 - 2 != uVar10;" (assignment_expression "bVar17 = uVar2 - 2 != uVar10" identifier = (binary_expression "uVar2 - 2 != uVar10" (binary_expression "uVar2 - 2" identifier - number_literal) != identifier)) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar17)" ( identifier )) ;) })) (return_statement "return;" return ;) })) comment (expression_statement "FUN_00182e30();" (call_expression "FUN_00182e30()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void do_init_layout(Sized_incremental_binary<64,_true> * this, Layout *\n   layout) */\n\nvoid __thiscall\ngold::Sized_incremental_binary<64,_true>::do_init_layout\n          (Sized_incremental_binary<64,_true> *this,Layout *layout)\n\n{\n  uchar uVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  pointer ppOVar5;\n  pointer ppOVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  uchar *name;\n  Output_section *pOVar12;\n  Output_file *this_1;\n  Shdr_data<64> *pSVar13;\n  size_t size;\n  uchar *puVar14;\n  Output_file *this_00;\n  bool bVar15;\n  Location LVar16;\n  Shdr shdr;\n  \n  this_00 = (Output_file *)&this->elf_file_;\n  lVar4 = (this->elf_file_).shoff_;\n  elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum\n            ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00);\n  uVar2 = (this->elf_file_).shnum_;\n  elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum\n            ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00);\n  uVar3 = (this->elf_file_).shstrndx_;\n  uVar10 = (ulong)uVar3;\n  LVar16 = elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::section_contents\n                     ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00,uVar3);\n  size = LVar16.data_size;\n  lVar9 = LVar16.file_offset;\n  this_1 = (this->super_Incremental_binary).output_;\n  if ((((-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)) &&\n      (this_1 = (Output_file *)this_1->base_, -1 < lVar9)) &&\n     (this_00 = (Output_file *)(size + lVar9), (long)this_00 <= (long)uVar10)) {\n    if (size == 0) {\n      size = 0;\n    }\n    else {\n      uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      while ((uVar1 != '\0' && (size = size - 1, size != 0))) {\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }\n    }\n    Layout::set_incremental_base(layout,&this->super_Incremental_binary);\n    ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_finish;\n    uVar11 = (ulong)uVar2;\n    ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_start;\n    uVar10 = (long)ppOVar5 - (long)ppOVar6 >> 3;\n    if (uVar10 < uVar11) {\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&this->section_map_,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)) {\n      (this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;\n    }\n    pSVar13 = (Shdr_data<64> *)((long)&this_1[1].base_ + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = pSVar13->sh_name;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        name = (uchar *)0x0;\n        if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }\n        shdr.p_ = pSVar13;\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }\n        pSVar13 = pSVar13 + 1;\n        ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;\n        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);\n        ppOVar6[uVar10 + 1] = pOVar12;\n        bVar15 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar15);\n    }\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  Output_file::get_output_view(this_00,uVar10,size,this_1);\n}\n\n" comment comment (declaration "void __thiscall\ngold::Sized_incremental_binary<64,_true>::do_init_layout\n          (Sized_incremental_binary<64,_true> *this,Layout *layout)\n\n{\n  uchar uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::" identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>::do_init_layout\n          (Sized_incremental_binary<64,_true> *this,Layout *layout)\n\n{\n  uchar" identifier > : : (function_declarator "do_init_layout\n          (Sized_incremental_binary<64,_true> *this,Layout *layout)" identifier (parameter_list "(Sized_incremental_binary<64,_true> *this,Layout *layout)" ( (parameter_declaration "Sized_incremental_binary" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_true> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) ))) { identifier) identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "pointer ppOVar5;" type_identifier identifier ;) (declaration "pointer ppOVar6;" type_identifier identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "uchar *name;" type_identifier (pointer_declarator "*name" * identifier) ;) (declaration "Output_section *pOVar12;" type_identifier (pointer_declarator "*pOVar12" * identifier) ;) (declaration "Output_file *this_1;" type_identifier (pointer_declarator "*this_1" * identifier) ;) (expression_statement "Shdr_data<64> *pSVar13;" (update_expression "Shdr_data<64> *pSVar13" (binary_expression "Shdr_data<64> *pSVar13" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*pSVar13" * identifier)) --) ;) (declaration "size_t size;" primitive_type identifier ;) (declaration "uchar *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "Output_file *this_00;" type_identifier (pointer_declarator "*this_00" * identifier) ;) (declaration "bool bVar15;" primitive_type identifier ;) (declaration "Location LVar16;" type_identifier identifier ;) (declaration "Shdr shdr;" type_identifier identifier ;) (expression_statement "this_00 = (Output_file *)&this->elf_file_;" (assignment_expression "this_00 = (Output_file *)&this->elf_file_" identifier = (cast_expression "(Output_file *)&this->elf_file_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this->elf_file_" & (field_expression "this->elf_file_" identifier -> field_identifier)))) ;) (expression_statement "lVar4 = (this->elf_file_).shoff_;" (assignment_expression "lVar4 = (this->elf_file_).shoff_" identifier = (field_expression "(this->elf_file_).shoff_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum\n            ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum\n            ((Elf_file<64,_true,_gold:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > : : identifier ( ( (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) :) : (expression_statement "Incremental_binary> *)this_00);" (binary_expression "Incremental_binary> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) (ERROR ")" )) ;)) (expression_statement "uVar2 = (this->elf_file_).shnum_;" (assignment_expression "uVar2 = (this->elf_file_).shnum_" identifier = (field_expression "(this->elf_file_).shnum_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier)) ;) (labeled_statement "elfcpp::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum\n            ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00);" statement_identifier (ERROR "::Elf_file<64,_true,_gold::Incremental_binary>::initialize_shnum\n            ((Elf_file<64,_true,_gold:" : : (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) : : identifier > : : identifier ( ( (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) :) : (expression_statement "Incremental_binary> *)this_00);" (binary_expression "Incremental_binary> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) (ERROR ")" )) ;)) (expression_statement "uVar3 = (this->elf_file_).shstrndx_;" (assignment_expression "uVar3 = (this->elf_file_).shstrndx_" identifier = (field_expression "(this->elf_file_).shstrndx_" (parenthesized_expression "(this->elf_file_)" ( (field_expression "this->elf_file_" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "uVar10 = (ulong)uVar3;" (assignment_expression "uVar10 = (ulong)uVar3" identifier = (cast_expression "(ulong)uVar3" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (ERROR "LVar16 = elfcpp::Elf_file<64,_true," (binary_expression "LVar16 = elfcpp::Elf_file<64" (assignment_expression "LVar16 = elfcpp" identifier = identifier) (ERROR "::Elf_file" : : identifier) < number_literal) , identifier ,) (labeled_statement "_gold::Incremental_binary>::section_contents\n                     ((Elf_file<64,_true,_gold::Incremental_binary> *)this_00,uVar3);" statement_identifier (ERROR "::Incremental_binary>::section_contents\n                     ((Elf_file<64,_true,_gold:" : : identifier > : : identifier ( ( (comma_expression "Elf_file<64,_true,_gold" (binary_expression "Elf_file<64" identifier < number_literal) , (comma_expression "_true,_gold" identifier , identifier)) :) : (expression_statement "Incremental_binary> *)this_00,uVar3);" (comma_expression "Incremental_binary> *)this_00,uVar3" (binary_expression "Incremental_binary> *)this_00" identifier > (pointer_expression "*)this_00" * (ERROR ")" )) identifier)) , identifier) (ERROR ")" )) ;)) (expression_statement "size = LVar16.data_size;" (assignment_expression "size = LVar16.data_size" identifier = (field_expression "LVar16.data_size" identifier . field_identifier)) ;) (expression_statement "lVar9 = LVar16.file_offset;" (assignment_expression "lVar9 = LVar16.file_offset" identifier = (field_expression "LVar16.file_offset" identifier . field_identifier)) ;) (expression_statement "this_1 = (this->super_Incremental_binary).output_;" (assignment_expression "this_1 = (this->super_Incremental_binary).output_" identifier = (field_expression "(this->super_Incremental_binary).output_" (parenthesized_expression "(this->super_Incremental_binary)" ( (field_expression "this->super_Incremental_binary" identifier -> field_identifier) )) . field_identifier)) ;) (if_statement "if ((((-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)) &&\n      (this_1 = (Output_file *)this_1->base_, -1 < lVar9)) &&\n     (this_00 = (Output_file *)(size + lVar9), (long)this_00 <= (long)uVar10)) {\n    if (size == 0) {\n      size = 0;\n    }\n    else {\n      uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      while ((uVar1 != '\0' && (size = size - 1, size != 0))) {\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }\n    }\n    Layout::set_incremental_base(layout,&this->super_Incremental_binary);\n    ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_finish;\n    uVar11 = (ulong)uVar2;\n    ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_start;\n    uVar10 = (long)ppOVar5 - (long)ppOVar6 >> 3;\n    if (uVar10 < uVar11) {\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&this->section_map_,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)) {\n      (this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;\n    }\n    pSVar13 = (Shdr_data<64> *)((long)&this_1[1].base_ + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = pSVar13->sh_name;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        name = (uchar *)0x0;\n        if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }\n        shdr.p_ = pSVar13;\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }\n        pSVar13 = pSVar13 + 1;\n        ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;\n        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);\n        ppOVar6[uVar10 + 1] = pOVar12;\n        bVar15 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar15);\n    }\n    return;\n  }" if (parenthesized_expression "((((-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)) &&\n      (this_1 = (Output_file *)this_1->base_, -1 < lVar9)) &&\n     (this_00 = (Output_file *)(size + lVar9), (long)this_00 <= (long)uVar10))" ( (binary_expression "(((-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)) &&\n      (this_1 = (Output_file *)this_1->base_, -1 < lVar9)) &&\n     (this_00 = (Output_file *)(size + lVar9), (long)this_00 <= (long)uVar10)" (parenthesized_expression "(((-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)) &&\n      (this_1 = (Output_file *)this_1->base_, -1 < lVar9))" ( (binary_expression "((-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)) &&\n      (this_1 = (Output_file *)this_1->base_, -1 < lVar9)" (parenthesized_expression "((-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10))" ( (binary_expression "(-1 < lVar4) &&\n       (uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)" (parenthesized_expression "(-1 < lVar4)" ( (binary_expression "-1 < lVar4" number_literal < identifier) )) && (parenthesized_expression "(uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10)" ( (comma_expression "uVar10 = this_1->file_size_, (long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10" (assignment_expression "uVar10 = this_1->file_size_" identifier = (field_expression "this_1->file_size_" identifier -> field_identifier)) , (binary_expression "(long)((ulong)(uVar2 << 6) + lVar4) <= (long)uVar10" (cast_expression "(long)((ulong)(uVar2 << 6) + lVar4)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((ulong)(uVar2 << 6) + lVar4)" ( (binary_expression "(ulong)(uVar2 << 6) + lVar4" (call_expression "(ulong)(uVar2 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 << 6)" ( (binary_expression "uVar2 << 6" identifier << number_literal) ))) + identifier) ))) <= (cast_expression "(long)uVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) )) && (parenthesized_expression "(this_1 = (Output_file *)this_1->base_, -1 < lVar9)" ( (comma_expression "this_1 = (Output_file *)this_1->base_, -1 < lVar9" (assignment_expression "this_1 = (Output_file *)this_1->base_" identifier = (cast_expression "(Output_file *)this_1->base_" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this_1->base_" identifier -> field_identifier))) , (binary_expression "-1 < lVar9" number_literal < identifier)) ))) )) && (parenthesized_expression "(this_00 = (Output_file *)(size + lVar9), (long)this_00 <= (long)uVar10)" ( (comma_expression "this_00 = (Output_file *)(size + lVar9), (long)this_00 <= (long)uVar10" (assignment_expression "this_00 = (Output_file *)(size + lVar9)" identifier = (cast_expression "(Output_file *)(size + lVar9)" ( (type_descriptor "Output_file *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(size + lVar9)" ( (binary_expression "size + lVar9" identifier + identifier) )))) , (binary_expression "(long)this_00 <= (long)uVar10" (cast_expression "(long)this_00" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) <= (cast_expression "(long)uVar10" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier))) ))) )) (compound_statement "{\n    if (size == 0) {\n      size = 0;\n    }\n    else {\n      uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      while ((uVar1 != '\0' && (size = size - 1, size != 0))) {\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }\n    }\n    Layout::set_incremental_base(layout,&this->super_Incremental_binary);\n    ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_finish;\n    uVar11 = (ulong)uVar2;\n    ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_start;\n    uVar10 = (long)ppOVar5 - (long)ppOVar6 >> 3;\n    if (uVar10 < uVar11) {\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&this->section_map_,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)) {\n      (this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;\n    }\n    pSVar13 = (Shdr_data<64> *)((long)&this_1[1].base_ + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = pSVar13->sh_name;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        name = (uchar *)0x0;\n        if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }\n        shdr.p_ = pSVar13;\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }\n        pSVar13 = pSVar13 + 1;\n        ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;\n        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);\n        ppOVar6[uVar10 + 1] = pOVar12;\n        bVar15 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar15);\n    }\n    return;\n  }" { (if_statement "if (size == 0) {\n      size = 0;\n    }\n    else {\n      uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      while ((uVar1 != '\0' && (size = size - 1, size != 0))) {\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }\n    }" if (parenthesized_expression "(size == 0)" ( (binary_expression "size == 0" identifier == number_literal) )) (compound_statement "{\n      size = 0;\n    }" { (expression_statement "size = 0;" (assignment_expression "size = 0" identifier = number_literal) ;) }) (else_clause "else {\n      uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      while ((uVar1 != '\0' && (size = size - 1, size != 0))) {\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }\n    }" else (compound_statement "{\n      uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      while ((uVar1 != '\0' && (size = size - 1, size != 0))) {\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }\n    }" { (expression_statement "uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);" (assignment_expression "uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1)" identifier = (pointer_expression "*(uchar *)((long)this_1 + size + lVar9 + -1)" * (cast_expression "(uchar *)((long)this_1 + size + lVar9 + -1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this_1 + size + lVar9 + -1)" ( (binary_expression "(long)this_1 + size + lVar9 + -1" (binary_expression "(long)this_1 + size + lVar9" (binary_expression "(long)this_1 + size" (cast_expression "(long)this_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + identifier) + number_literal) ))))) ;) (while_statement "while ((uVar1 != '\0' && (size = size - 1, size != 0))) {\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }" while (parenthesized_expression "((uVar1 != '\0' && (size = size - 1, size != 0)))" ( (parenthesized_expression "(uVar1 != '\0' && (size = size - 1, size != 0))" ( (binary_expression "uVar1 != '\0' && (size = size - 1, size != 0)" (binary_expression "uVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(size = size - 1, size != 0)" ( (comma_expression "size = size - 1, size != 0" (assignment_expression "size = size - 1" identifier = (binary_expression "size - 1" identifier - number_literal)) , (binary_expression "size != 0" identifier != number_literal)) ))) )) )) (compound_statement "{\n        uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);\n      }" { (expression_statement "uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1);" (assignment_expression "uVar1 = *(uchar *)((long)this_1 + size + lVar9 + -1)" identifier = (pointer_expression "*(uchar *)((long)this_1 + size + lVar9 + -1)" * (cast_expression "(uchar *)((long)this_1 + size + lVar9 + -1)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)this_1 + size + lVar9 + -1)" ( (binary_expression "(long)this_1 + size + lVar9 + -1" (binary_expression "(long)this_1 + size + lVar9" (binary_expression "(long)this_1 + size" (cast_expression "(long)this_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + identifier) + identifier) + number_literal) ))))) ;) })) }))) (labeled_statement "Layout::set_incremental_base(layout,&this->super_Incremental_binary);" statement_identifier : (ERROR ":" :) (expression_statement "set_incremental_base(layout,&this->super_Incremental_binary);" (call_expression "set_incremental_base(layout,&this->super_Incremental_binary)" identifier (argument_list "(layout,&this->super_Incremental_binary)" ( identifier , (pointer_expression "&this->super_Incremental_binary" & (field_expression "this->super_Incremental_binary" identifier -> field_identifier)) ))) ;)) (expression_statement "ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_finish;" (field_expression "ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_finish" (field_expression "ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl" (binary_expression "ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar5 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar5 = (this->section_map_).\n              super__Vector_base<gold" identifier = (binary_expression "(this->section_map_).\n              super__Vector_base<gold" (field_expression "(this->section_map_).\n              super__Vector_base" (parenthesized_expression "(this->section_map_)" ( (field_expression "this->section_map_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar11 = (ulong)uVar2;" (assignment_expression "uVar11 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_start;" (field_expression "ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl._M_start" (field_expression "ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n              _M_impl" (binary_expression "ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar6 = (this->section_map_).\n              super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar6 = (this->section_map_).\n              super__Vector_base<gold" identifier = (binary_expression "(this->section_map_).\n              super__Vector_base<gold" (field_expression "(this->section_map_).\n              super__Vector_base" (parenthesized_expression "(this->section_map_)" ( (field_expression "this->section_map_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (expression_statement "uVar10 = (long)ppOVar5 - (long)ppOVar6 >> 3;" (assignment_expression "uVar10 = (long)ppOVar5 - (long)ppOVar6 >> 3" identifier = (binary_expression "(long)ppOVar5 - (long)ppOVar6 >> 3" (binary_expression "(long)ppOVar5 - (long)ppOVar6" (cast_expression "(long)ppOVar5" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) - (cast_expression "(long)ppOVar6" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier)) >> number_literal)) ;) (if_statement "if (uVar10 < uVar11) {\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&this->section_map_,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)) {\n      (this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;\n    }" if (parenthesized_expression "(uVar10 < uVar11)" ( (binary_expression "uVar10 < uVar11" identifier < identifier) )) (compound_statement "{\n      std::vector<gold::Output_section*,_std::allocator<gold::Output_section*>_>::_M_default_append\n                (&this->section_map_,uVar11 - uVar10);\n    }" { (ERROR "std::vector<gold::Output_section*,_std::allocator<gold::" (comma_expression "std::vector<gold::Output_section*,_std" identifier (ERROR "::vector<gold::Output_section*" : : (binary_expression "vector<gold" identifier < identifier) : : identifier *) , identifier) : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_section*>_>::_M_default_append\n                (&this->section_map_,uVar11 - uVar10);" (binary_expression "Output_section*>_>::_M_default_append\n                (&this->section_map_,uVar11 - uVar10)" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) > (ERROR "::" : :) (call_expression "_M_default_append\n                (&this->section_map_,uVar11 - uVar10)" identifier (argument_list "(&this->section_map_,uVar11 - uVar10)" ( (pointer_expression "&this->section_map_" & (field_expression "this->section_map_" identifier -> field_identifier)) , (binary_expression "uVar11 - uVar10" identifier - identifier) )))) ;) }) (else_clause "else if ((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)) {\n      (this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;\n    }" else (if_statement "if ((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)) {\n      (this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;\n    }" if (parenthesized_expression "((uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6))" ( (binary_expression "(uVar11 < uVar10) && (ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)" (parenthesized_expression "(uVar11 < uVar10)" ( (binary_expression "uVar11 < uVar10" identifier < identifier) )) && (parenthesized_expression "(ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6)" ( (comma_expression "ppOVar6 = ppOVar6 + uVar11, ppOVar5 != ppOVar6" (assignment_expression "ppOVar6 = ppOVar6 + uVar11" identifier = (binary_expression "ppOVar6 + uVar11" identifier + identifier)) , (binary_expression "ppOVar5 != ppOVar6" identifier != identifier)) ))) )) (compound_statement "{\n      (this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;\n    }" { (expression_statement "(this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6;" (assignment_expression "(this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish = ppOVar6" (field_expression "(this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n      _M_finish" (field_expression "(this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl" (binary_expression "(this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "(this->section_map_).\n      super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "(this->section_map_).\n      super__Vector_base<gold::Output_section*,_std" (binary_expression "(this->section_map_).\n      super__Vector_base<gold" (field_expression "(this->section_map_).\n      super__Vector_base" (parenthesized_expression "(this->section_map_)" ( (field_expression "this->section_map_" identifier -> field_identifier) )) . field_identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = identifier) ;) })))) (expression_statement "pSVar13 = (Shdr_data<64> *)((long)&this_1[1].base_ + lVar4);" (assignment_expression "pSVar13 = (Shdr_data<64> *)((long)&this_1[1].base_ + lVar4)" identifier = (call_expression "(Shdr_data<64> *)((long)&this_1[1].base_ + lVar4)" (parenthesized_expression "(Shdr_data<64> *)" ( (binary_expression "Shdr_data<64> *" (binary_expression "Shdr_data<64" identifier < number_literal) > (pointer_expression "*" * identifier)) )) (argument_list "((long)&this_1[1].base_ + lVar4)" ( (binary_expression "(long)&this_1[1].base_ + lVar4" (cast_expression "(long)&this_1[1].base_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&this_1[1].base_" & (field_expression "this_1[1].base_" (subscript_expression "this_1[1]" identifier [ number_literal ]) . field_identifier))) + identifier) )))) ;) (if_statement "if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = pSVar13->sh_name;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        name = (uchar *)0x0;\n        if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }\n        shdr.p_ = pSVar13;\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }\n        pSVar13 = pSVar13 + 1;\n        ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;\n        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);\n        ppOVar6[uVar10 + 1] = pOVar12;\n        bVar15 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar15);\n    }" if (parenthesized_expression "(1 < uVar2)" ( (binary_expression "1 < uVar2" number_literal < identifier) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        uVar3 = pSVar13->sh_name;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        name = (uchar *)0x0;\n        if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }\n        shdr.p_ = pSVar13;\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }\n        pSVar13 = pSVar13 + 1;\n        ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;\n        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);\n        ppOVar6[uVar10 + 1] = pOVar12;\n        bVar15 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar15);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar3 = pSVar13->sh_name;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        name = (uchar *)0x0;\n        if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }\n        shdr.p_ = pSVar13;\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }\n        pSVar13 = pSVar13 + 1;\n        ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;\n        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);\n        ppOVar6[uVar10 + 1] = pOVar12;\n        bVar15 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar15);" do (compound_statement "{\n        uVar3 = pSVar13->sh_name;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        name = (uchar *)0x0;\n        if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }\n        shdr.p_ = pSVar13;\n        if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }\n        pSVar13 = pSVar13 + 1;\n        ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;\n        pOVar12 = Layout::init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);\n        ppOVar6[uVar10 + 1] = pOVar12;\n        bVar15 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      }" { (expression_statement "uVar3 = pSVar13->sh_name;" (assignment_expression "uVar3 = pSVar13->sh_name" identifier = (field_expression "pSVar13->sh_name" identifier -> field_identifier)) ;) (expression_statement "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);" (assignment_expression "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" identifier = (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "name = (uchar *)0x0;" (assignment_expression "name = (uchar *)0x0" identifier = (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar11 < size) {\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }" if (parenthesized_expression "(uVar11 < size)" ( (binary_expression "uVar11 < size" identifier < identifier) )) (compound_statement "{\n          name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);\n        }" { (expression_statement "name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9);" (assignment_expression "name = (uchar *)((long)&this_1->name_ + uVar11 + lVar9)" identifier = (cast_expression "(uchar *)((long)&this_1->name_ + uVar11 + lVar9)" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)&this_1->name_ + uVar11 + lVar9)" ( (binary_expression "(long)&this_1->name_ + uVar11 + lVar9" (binary_expression "(long)&this_1->name_ + uVar11" (cast_expression "(long)&this_1->name_" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (pointer_expression "&this_1->name_" & (field_expression "this_1->name_" identifier -> field_identifier))) + identifier) + identifier) )))) ;) })) (expression_statement "shdr.p_ = pSVar13;" (assignment_expression "shdr.p_ = pSVar13" (field_expression "shdr.p_" identifier . field_identifier) = identifier) ;) (if_statement "if ((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))\n        {\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }" if (parenthesized_expression "((parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0))" ( (binary_expression "(parameters->options_ != (General_options *)0x0) && ((parameters->debug_ & 0x10) != 0)" (parenthesized_expression "(parameters->options_ != (General_options *)0x0)" ( (binary_expression "parameters->options_ != (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) && (parenthesized_expression "((parameters->debug_ & 0x10) != 0)" ( (binary_expression "(parameters->debug_ & 0x10) != 0" (parenthesized_expression "(parameters->debug_ & 0x10)" ( (binary_expression "parameters->debug_ & 0x10" (field_expression "parameters->debug_" identifier -> field_identifier) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar3 = pSVar13->sh_type;\n          puVar14 = (uchar *)"<null>";\n          if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }\n          uVar11 = pSVar13->sh_size;\n          uVar7 = pSVar13->sh_offset;\n          uVar8 = pSVar13->sh_addr;\n          Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);\n        }" { (expression_statement "uVar3 = pSVar13->sh_type;" (assignment_expression "uVar3 = pSVar13->sh_type" identifier = (field_expression "pSVar13->sh_type" identifier -> field_identifier)) ;) (expression_statement "puVar14 = (uchar *)"<null>";" (assignment_expression "puVar14 = (uchar *)"<null>"" identifier = (cast_expression "(uchar *)"<null>"" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) (string_literal ""<null>"" " string_content "))) ;) (if_statement "if (name != (uchar *)0x0) {\n            puVar14 = name;\n          }" if (parenthesized_expression "(name != (uchar *)0x0)" ( (binary_expression "name != (uchar *)0x0" identifier != (cast_expression "(uchar *)0x0" ( (type_descriptor "uchar *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            puVar14 = name;\n          }" { (expression_statement "puVar14 = name;" (assignment_expression "puVar14 = name" identifier = identifier) ;) })) (expression_statement "uVar11 = pSVar13->sh_size;" (assignment_expression "uVar11 = pSVar13->sh_size" identifier = (field_expression "pSVar13->sh_size" identifier -> field_identifier)) ;) (expression_statement "uVar7 = pSVar13->sh_offset;" (assignment_expression "uVar7 = pSVar13->sh_offset" identifier = (field_expression "pSVar13->sh_offset" identifier -> field_identifier)) ;) (expression_statement "uVar8 = pSVar13->sh_addr;" (assignment_expression "uVar8 = pSVar13->sh_addr" identifier = (field_expression "pSVar13->sh_addr" identifier -> field_identifier)) ;) (labeled_statement "Errors::debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);" statement_identifier : (ERROR ":" :) (expression_statement "debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14);" (call_expression "debug(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14)" identifier (argument_list "(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",\n                        (ulong)((int)uVar10 + 1),\n                        uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                        uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                        uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                        (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18),puVar14)" ( (field_expression "parameters->errors_" identifier -> field_identifier) , (string_literal ""Output section: %2d %08lx %08lx %08lx %3d %s"" " string_content ") , (call_expression "(ulong)((int)uVar10 + 1)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "((int)uVar10 + 1)" ( (binary_expression "(int)uVar10 + 1" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) ))) , (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                        (uVar8 & 0xff00) << 0x28" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                        (uVar8 & 0xff000000) << 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                        (uVar8 & 0xff0000000000) >> 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28" (binary_expression "uVar8 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar8 & 0xff000000000000)" ( (binary_expression "uVar8 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xff0000000000)" ( (binary_expression "uVar8 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00000000) >> 8" (parenthesized_expression "(uVar8 & 0xff00000000)" ( (binary_expression "uVar8 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff000000) << 8" (parenthesized_expression "(uVar8 & 0xff000000)" ( (binary_expression "uVar8 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff0000) << 0x18" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x38" identifier << number_literal)) , (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                        (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                        (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                        (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" ( (binary_expression "uVar7 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" ( (binary_expression "uVar7 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" ( (binary_expression "uVar7 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" ( (binary_expression "uVar7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x38" identifier << number_literal)) , (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                        (uVar11 & 0xff00) << 0x28" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                        (uVar11 & 0xff000000) << 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                        (uVar11 & 0xff0000000000) >> 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28" (binary_expression "uVar11 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar11 & 0xff000000000000)" ( (binary_expression "uVar11 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar11 & 0xff0000000000)" ( (binary_expression "uVar11 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00000000) >> 8" (parenthesized_expression "(uVar11 & 0xff00000000)" ( (binary_expression "uVar11 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff000000) << 8" (parenthesized_expression "(uVar11 & 0xff000000)" ( (binary_expression "uVar11 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff0000) << 0x18" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff00) << 0x28" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x38" identifier << number_literal)) , (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                               uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) ))) , identifier ))) ;)) })) (expression_statement "pSVar13 = pSVar13 + 1;" (assignment_expression "pSVar13 = pSVar13 + 1" identifier = (binary_expression "pSVar13 + 1" identifier + number_literal)) ;) (expression_statement "ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start;" (field_expression "ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl._M_start" (field_expression "ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>.\n                  _M_impl" (binary_expression "ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_" (binary_expression "ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std::allocator<gold" (binary_expression "ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold::Output_section*,_std" (assignment_expression "ppOVar6 = (this->section_map_).\n                  super__Vector_base<gold" identifier = (binary_expression "(this->section_map_).\n                  super__Vector_base<gold" (field_expression "(this->section_map_).\n                  super__Vector_base" (parenthesized_expression "(this->section_map_)" ( (field_expression "this->section_map_" identifier -> field_identifier) )) . field_identifier) < identifier)) (ERROR "::Output_section" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_section" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) ;) (ERROR "pOVar12 = Layout::" (assignment_expression "pOVar12 = Layout" identifier = identifier) : :) (expression_statement "init_fixed_output_section<64,_true>(layout,(char *)name,&shdr);" (comma_expression "init_fixed_output_section<64,_true>(layout,(char *)name,&shdr)" (binary_expression "init_fixed_output_section<64" identifier < number_literal) , (binary_expression "_true>(layout,(char *)name,&shdr)" identifier > (parenthesized_expression "(layout,(char *)name,&shdr)" ( (comma_expression "layout,(char *)name,&shdr" identifier , (comma_expression "(char *)name,&shdr" (cast_expression "(char *)name" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier) , (pointer_expression "&shdr" & identifier))) )))) ;) (expression_statement "ppOVar6[uVar10 + 1] = pOVar12;" (assignment_expression "ppOVar6[uVar10 + 1] = pOVar12" (subscript_expression "ppOVar6[uVar10 + 1]" identifier [ (binary_expression "uVar10 + 1" identifier + number_literal) ]) = identifier) ;) (expression_statement "bVar15 = uVar2 - 2 != uVar10;" (assignment_expression "bVar15 = uVar2 - 2 != uVar10" identifier = (binary_expression "uVar2 - 2 != uVar10" (binary_expression "uVar2 - 2" identifier - number_literal) != identifier)) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar15)" ( identifier )) ;) })) (return_statement "return;" return ;) })) comment (labeled_statement "Output_file::get_output_view(this_00,uVar10,size,this_1);" statement_identifier : (ERROR ":" :) (expression_statement "get_output_view(this_00,uVar10,size,this_1);" (call_expression "get_output_view(this_00,uVar10,size,this_1)" identifier (argument_list "(this_00,uVar10,size,this_1)" ( identifier , identifier , identifier , identifier ))) ;)) (ERROR "}" }))
(translation_unit "void FUN_00197980(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    \n  FUN_00182e30();\n}\n\n" (function_definition "void FUN_00197980(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    \n  FUN_00182e30();\n}" primitive_type (function_declarator "FUN_00197980(long param_1,undefined8 param_2)" identifier (parameter_list "(long param_1,undefined8 param_2)" ( (parameter_declaration "long param_1" (sized_type_specifier "long" long) identifier) , (parameter_declaration "undefined8 param_2" type_identifier identifier) ))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    \n  FUN_00182e30();\n}" { (declaration "char cVar1;" primitive_type identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "long lVar4;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "long lVar6;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "long lVar9;" (sized_type_specifier "long" long) identifier ;) (declaration "ulong uVar10;" type_identifier identifier ;) (declaration "ulong uVar11;" type_identifier identifier ;) (declaration "char *pcVar12;" primitive_type (pointer_declarator "*pcVar12" * identifier) ;) (declaration "undefined8 uVar13;" type_identifier identifier ;) (declaration "uint *puVar14;" type_identifier (pointer_declarator "*puVar14" * identifier) ;) (declaration "ulong uVar15;" type_identifier identifier ;) (declaration "char *pcVar16;" primitive_type (pointer_declarator "*pcVar16" * identifier) ;) (declaration "bool bVar17;" primitive_type identifier ;) (declaration "undefined1 auVar18 [16];" type_identifier (array_declarator "auVar18 [16]" identifier [ number_literal ]) ;) (declaration "uint *local_40 [2];" type_identifier (pointer_declarator "*local_40 [2]" * (array_declarator "local_40 [2]" identifier [ number_literal ])) ;) (expression_statement "lVar9 = param_1 + 0x58;" (assignment_expression "lVar9 = param_1 + 0x58" identifier = (binary_expression "param_1 + 0x58" identifier + number_literal)) ;) (expression_statement "lVar4 = *(long *)(param_1 + 0x60);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x60)" identifier = (pointer_expression "*(long *)(param_1 + 0x60)" * (cast_expression "(long *)(param_1 + 0x60)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x60)" ( (binary_expression "param_1 + 0x60" identifier + number_literal) ))))) ;) (expression_statement "FUN_001976d0(lVar9);" (call_expression "FUN_001976d0(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;) (expression_statement "uVar2 = *(uint *)(param_1 + 0x68);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x68)" identifier = (pointer_expression "*(uint *)(param_1 + 0x68)" * (cast_expression "(uint *)(param_1 + 0x68)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x68)" ( (binary_expression "param_1 + 0x68" identifier + number_literal) ))))) ;) (expression_statement "FUN_001976d0(lVar9);" (call_expression "FUN_001976d0(lVar9)" identifier (argument_list "(lVar9)" ( identifier ))) ;) (expression_statement "auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));" (assignment_expression "auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c))" identifier = (call_expression "FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c))" identifier (argument_list "(lVar9,*(undefined4 *)(param_1 + 0x6c))" ( identifier , (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" * (cast_expression "(undefined4 *)(param_1 + 0x6c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x6c)" ( (binary_expression "param_1 + 0x6c" identifier + number_literal) )))) )))) ;) (expression_statement "uVar15 = auVar18._8_8_;" (assignment_expression "uVar15 = auVar18._8_8_" identifier = (field_expression "auVar18._8_8_" identifier . field_identifier)) ;) (expression_statement "lVar9 = auVar18._0_8_;" (assignment_expression "lVar9 = auVar18._0_8_" identifier = (field_expression "auVar18._0_8_" identifier . field_identifier)) ;) (if_statement "if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }" if (parenthesized_expression "((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5))" ( (binary_expression "(((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)" (parenthesized_expression "(((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9))" ( (binary_expression "((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)" (parenthesized_expression "((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5))" ( (binary_expression "(-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)" (parenthesized_expression "(-1 < lVar4)" ( (binary_expression "-1 < lVar4" number_literal < identifier) )) && (parenthesized_expression "(lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)" ( (comma_expression "lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5" (assignment_expression "lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + 0x10)" * (cast_expression "(long *)(*(long *)(param_1 + 0x50) + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + 0x10)" ( (binary_expression "*(long *)(param_1 + 0x50) + 0x10" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "(long)((ulong)(uVar2 << 6) + lVar4) <= lVar5" (cast_expression "(long)((ulong)(uVar2 << 6) + lVar4)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "((ulong)(uVar2 << 6) + lVar4)" ( (binary_expression "(ulong)(uVar2 << 6) + lVar4" (call_expression "(ulong)(uVar2 << 6)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar2 << 6)" ( (binary_expression "uVar2 << 6" identifier << number_literal) ))) + identifier) ))) <= identifier)) ))) )) && (parenthesized_expression "(lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)" ( (comma_expression "lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9" (assignment_expression "lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18)" identifier = (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + 0x18)" * (cast_expression "(long *)(*(long *)(param_1 + 0x50) + 0x18)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(param_1 + 0x50) + 0x18)" ( (binary_expression "*(long *)(param_1 + 0x50) + 0x18" (pointer_expression "*(long *)(param_1 + 0x50)" * (cast_expression "(long *)(param_1 + 0x50)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x50)" ( (binary_expression "param_1 + 0x50" identifier + number_literal) )))) + number_literal) ))))) , (binary_expression "-1 < lVar9" number_literal < identifier)) ))) )) && (parenthesized_expression "((long)(uVar15 + lVar9) <= lVar5)" ( (binary_expression "(long)(uVar15 + lVar9) <= lVar5" (cast_expression "(long)(uVar15 + lVar9)" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) (parenthesized_expression "(uVar15 + lVar9)" ( (binary_expression "uVar15 + lVar9" identifier + identifier) ))) <= identifier) ))) )) (compound_statement "{\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }" { (expression_statement "lVar9 = lVar6 + lVar9;" (assignment_expression "lVar9 = lVar6 + lVar9" identifier = (binary_expression "lVar6 + lVar9" identifier + identifier)) ;) (if_statement "if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" if (parenthesized_expression "(uVar15 == 0)" ( (binary_expression "uVar15 == 0" identifier == number_literal) )) (compound_statement "{\n      uVar15 = 0;\n    }" { (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" identifier = number_literal) ;) }) (else_clause "else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" else (compound_statement "{\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" { (expression_statement "cVar1 = *(char *)(lVar9 + -1 + uVar15);" (assignment_expression "cVar1 = *(char *)(lVar9 + -1 + uVar15)" identifier = (pointer_expression "*(char *)(lVar9 + -1 + uVar15)" * (cast_expression "(char *)(lVar9 + -1 + uVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + -1 + uVar15)" ( (binary_expression "lVar9 + -1 + uVar15" (binary_expression "lVar9 + -1" identifier + number_literal) + identifier) ))))) ;) (while_statement "while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }" while (parenthesized_expression "((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0)))" ( (parenthesized_expression "(cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))" ( (binary_expression "cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0)" (binary_expression "cVar1 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) && (parenthesized_expression "(uVar15 = uVar15 - 1, uVar15 != 0)" ( (comma_expression "uVar15 = uVar15 - 1, uVar15 != 0" (assignment_expression "uVar15 = uVar15 - 1" identifier = (binary_expression "uVar15 - 1" identifier - number_literal)) , (binary_expression "uVar15 != 0" identifier != number_literal)) ))) )) )) (compound_statement "{\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }" { (expression_statement "cVar1 = *(char *)(lVar9 + -1 + uVar15);" (assignment_expression "cVar1 = *(char *)(lVar9 + -1 + uVar15)" identifier = (pointer_expression "*(char *)(lVar9 + -1 + uVar15)" * (cast_expression "(char *)(lVar9 + -1 + uVar15)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + -1 + uVar15)" ( (binary_expression "lVar9 + -1 + uVar15" (binary_expression "lVar9 + -1" identifier + number_literal) + identifier) ))))) ;) })) }))) (expression_statement "FUN_001a4d30(param_2,param_1);" (call_expression "FUN_001a4d30(param_2,param_1)" identifier (argument_list "(param_2,param_1)" ( identifier , identifier ))) ;) (expression_statement "uVar11 = (ulong)uVar2;" (assignment_expression "uVar11 = (ulong)uVar2" identifier = (cast_expression "(ulong)uVar2" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;" (assignment_expression "uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3" identifier = (binary_expression "*(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3" (binary_expression "*(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90)" (pointer_expression "*(long *)(param_1 + 0x98)" * (cast_expression "(long *)(param_1 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))) - (pointer_expression "*(long *)(param_1 + 0x90)" * (cast_expression "(long *)(param_1 + 0x90)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) >> number_literal)) ;) (if_statement "if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" if (parenthesized_expression "(uVar10 < uVar11)" ( (binary_expression "uVar10 < uVar11" identifier < identifier) )) (compound_statement "{\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }" { (expression_statement "FUN_00192810(param_1 + 0x90,uVar11 - uVar10);" (call_expression "FUN_00192810(param_1 + 0x90,uVar11 - uVar10)" identifier (argument_list "(param_1 + 0x90,uVar11 - uVar10)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) , (binary_expression "uVar11 - uVar10" identifier - identifier) ))) ;) }) (else_clause "else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" else (if_statement "if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" if (parenthesized_expression "((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5))" ( (binary_expression "(uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)" (parenthesized_expression "(uVar11 < uVar10)" ( (binary_expression "uVar11 < uVar10" identifier < identifier) )) && (parenthesized_expression "(lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)" ( (comma_expression "lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5" (assignment_expression "lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8" identifier = (binary_expression "*(long *)(param_1 + 0x90) + uVar11 * 8" (pointer_expression "*(long *)(param_1 + 0x90)" * (cast_expression "(long *)(param_1 + 0x90)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) )))) + (binary_expression "uVar11 * 8" identifier * number_literal))) , (binary_expression "*(long *)(param_1 + 0x98) != lVar5" (pointer_expression "*(long *)(param_1 + 0x98)" * (cast_expression "(long *)(param_1 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))) != identifier)) ))) )) (compound_statement "{\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" { (expression_statement "*(long *)(param_1 + 0x98) = lVar5;" (assignment_expression "*(long *)(param_1 + 0x98) = lVar5" (pointer_expression "*(long *)(param_1 + 0x98)" * (cast_expression "(long *)(param_1 + 0x98)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x98)" ( (binary_expression "param_1 + 0x98" identifier + number_literal) )))) = identifier) ;) })))) (expression_statement "puVar14 = (uint *)(lVar6 + 0x40 + lVar4);" (assignment_expression "puVar14 = (uint *)(lVar6 + 0x40 + lVar4)" identifier = (cast_expression "(uint *)(lVar6 + 0x40 + lVar4)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar6 + 0x40 + lVar4)" ( (binary_expression "lVar6 + 0x40 + lVar4" (binary_expression "lVar6 + 0x40" identifier + number_literal) + identifier) )))) ;) (if_statement "if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }" if (parenthesized_expression "(1 < uVar2)" ( (binary_expression "1 < uVar2" number_literal < identifier) )) (compound_statement "{\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }" { (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" identifier = number_literal) ;) (do_statement "do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);" do (compound_statement "{\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      }" { (expression_statement "uVar3 = *puVar14;" (assignment_expression "uVar3 = *puVar14" identifier = (pointer_expression "*puVar14" * identifier)) ;) (expression_statement "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);" (assignment_expression "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" identifier = (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" ( (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "pcVar12 = (char *)0x0;" (assignment_expression "pcVar12 = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }" if (parenthesized_expression "(uVar11 < uVar15)" ( (binary_expression "uVar11 < uVar15" identifier < identifier) )) (compound_statement "{\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }" { (expression_statement "pcVar12 = (char *)(lVar9 + uVar11);" (assignment_expression "pcVar12 = (char *)(lVar9 + uVar11)" identifier = (cast_expression "(char *)(lVar9 + uVar11)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar9 + uVar11)" ( (binary_expression "lVar9 + uVar11" identifier + identifier) )))) ;) })) (expression_statement "local_40[0] = puVar14;" (assignment_expression "local_40[0] = puVar14" (subscript_expression "local_40[0]" identifier [ number_literal ]) = identifier) ;) (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }" if (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" ( (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) != number_literal) )) && (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" ( (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" ( (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" identifier [ number_literal ]) & number_literal) )) != number_literal) ))) )) (compound_statement "{\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }" { (expression_statement "uVar3 = puVar14[1];" (assignment_expression "uVar3 = puVar14[1]" identifier = (subscript_expression "puVar14[1]" identifier [ number_literal ])) ;) (expression_statement "pcVar16 = "<null>";" (assignment_expression "pcVar16 = "<null>"" identifier = (string_literal ""<null>"" " string_content ")) ;) (if_statement "if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }" if (parenthesized_expression "(pcVar12 != (char *)0x0)" ( (binary_expression "pcVar12 != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n            pcVar16 = pcVar12;\n          }" { (expression_statement "pcVar16 = pcVar12;" (assignment_expression "pcVar16 = pcVar12" identifier = identifier) ;) })) (expression_statement "uVar11 = *(ulong *)(puVar14 + 8);" (assignment_expression "uVar11 = *(ulong *)(puVar14 + 8)" identifier = (pointer_expression "*(ulong *)(puVar14 + 8)" * (cast_expression "(ulong *)(puVar14 + 8)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 8)" ( (binary_expression "puVar14 + 8" identifier + number_literal) ))))) ;) (expression_statement "uVar7 = *(ulong *)(puVar14 + 6);" (assignment_expression "uVar7 = *(ulong *)(puVar14 + 6)" identifier = (pointer_expression "*(ulong *)(puVar14 + 6)" * (cast_expression "(ulong *)(puVar14 + 6)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 6)" ( (binary_expression "puVar14 + 6" identifier + number_literal) ))))) ;) (expression_statement "uVar8 = *(ulong *)(puVar14 + 4);" (assignment_expression "uVar8 = *(ulong *)(puVar14 + 4)" identifier = (pointer_expression "*(ulong *)(puVar14 + 4)" * (cast_expression "(ulong *)(puVar14 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar14 + 4)" ( (binary_expression "puVar14 + 4" identifier + number_literal) ))))) ;) (expression_statement "FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);" (call_expression "FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16)" identifier (argument_list "(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16)" ( (pointer_expression "*(undefined8 *)PTR_DAT_0043e6b0" * (cast_expression "(undefined8 *)PTR_DAT_0043e6b0" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) , (string_literal ""Output section: %2d %08lx %08lx %08lx %3d %s"" " string_content ") , (binary_expression "(int)uVar10 + 1" (cast_expression "(int)uVar10" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) , (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28" (binary_expression "uVar8 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar8 & 0xff000000000000)" ( (binary_expression "uVar8 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xff0000000000)" ( (binary_expression "uVar8 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00000000) >> 8" (parenthesized_expression "(uVar8 & 0xff00000000)" ( (binary_expression "uVar8 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff000000) << 8" (parenthesized_expression "(uVar8 & 0xff000000)" ( (binary_expression "uVar8 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff0000) << 0x18" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x38" identifier << number_literal)) , (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" ( (binary_expression "uVar7 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" ( (binary_expression "uVar7 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" ( (binary_expression "uVar7 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" ( (binary_expression "uVar7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x38" identifier << number_literal)) , (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28" (binary_expression "uVar11 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar11 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar11 & 0xff000000000000)" ( (binary_expression "uVar11 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar11 & 0xff0000000000)" ( (binary_expression "uVar11 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff00000000) >> 8" (parenthesized_expression "(uVar11 & 0xff00000000)" ( (binary_expression "uVar11 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar11 & 0xff000000) << 8" (parenthesized_expression "(uVar11 & 0xff000000)" ( (binary_expression "uVar11 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff0000) << 0x18" (parenthesized_expression "(uVar11 & 0xff0000)" ( (binary_expression "uVar11 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar11 & 0xff00) << 0x28" (parenthesized_expression "(uVar11 & 0xff00)" ( (binary_expression "uVar11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar11 << 0x38" identifier << number_literal)) , (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" ( (binary_expression "uVar3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" ( (binary_expression "uVar3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar3 << 0x18" identifier << number_literal)) , identifier ))) ;) })) (expression_statement "puVar14 = puVar14 + 0x10;" (assignment_expression "puVar14 = puVar14 + 0x10" identifier = (binary_expression "puVar14 + 0x10" identifier + number_literal)) ;) (expression_statement "lVar4 = *(long *)(param_1 + 0x90);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x90)" identifier = (pointer_expression "*(long *)(param_1 + 0x90)" * (cast_expression "(long *)(param_1 + 0x90)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x90)" ( (binary_expression "param_1 + 0x90" identifier + number_literal) ))))) ;) (expression_statement "uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);" (assignment_expression "uVar13 = FUN_001b6c40(param_2,pcVar12,local_40)" identifier = (call_expression "FUN_001b6c40(param_2,pcVar12,local_40)" identifier (argument_list "(param_2,pcVar12,local_40)" ( identifier , identifier , identifier )))) ;) (expression_statement "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;" (assignment_expression "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13" (pointer_expression "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8)" * (cast_expression "(undefined8 *)(lVar4 + (uVar10 + 1) * 8)" ( (type_descriptor "undefined8 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar4 + (uVar10 + 1) * 8)" ( (binary_expression "lVar4 + (uVar10 + 1) * 8" identifier + (binary_expression "(uVar10 + 1) * 8" (parenthesized_expression "(uVar10 + 1)" ( (binary_expression "uVar10 + 1" identifier + number_literal) )) * number_literal)) )))) = identifier) ;) (expression_statement "bVar17 = uVar2 - 2 != uVar10;" (assignment_expression "bVar17 = uVar2 - 2 != uVar10" identifier = (binary_expression "uVar2 - 2 != uVar10" (binary_expression "uVar2 - 2" identifier - number_literal) != identifier)) ;) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" identifier = (binary_expression "uVar10 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(bVar17)" ( identifier )) ;) })) (return_statement "return;" return ;) })) (expression_statement "FUN_00182e30();" (call_expression "FUN_00182e30()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (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) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )))) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (expression_statement (assignment_expression IDENT = (field_expression IDENT . field_identifier)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression LIT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) + IDENT) ))) <= IDENT)) ))) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) , (binary_expression LIT < IDENT)) ))) )) && (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) ))) <= IDENT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) (while_statement while (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression IDENT != (char_literal ' escape_sequence ')) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression IDENT - LIT)) , (binary_expression IDENT != LIT)) ))) )) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) ))))) ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) - (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) >> LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) , (binary_expression IDENT - IDENT) ))) ;) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT < IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + (binary_expression IDENT * LIT))) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != IDENT)) ))) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) })))) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression IDENT + LIT) + IDENT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) )))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < IDENT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + IDENT) )))) ;) })) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) && (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) & LIT) )) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (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 (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) , (string_literal " string_content ") , (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) , (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT)) , IDENT ))) ;) })) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + (binary_expression (parenthesized_expression ( (binary_expression IDENT + LIT) )) * LIT)) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT - LIT) != IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( IDENT )) ;) })) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_00197980(long param_1,undefined8 param_2)\n\n{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    \n  FUN_00182e30();\n}" (primitive_type "void") (function_declarator "FUN_00197980(long param_1,undefined8 param_2)" (identifier "FUN_00197980") (parameter_list "(long param_1,undefined8 param_2)" (( "(") (parameter_declaration "long param_1" (sized_type_specifier "long" (long "long")) (identifier "param_1")) (, ",") (parameter_declaration "undefined8 param_2" (type_identifier "undefined8") (identifier "param_2")) () ")"))) (compound_statement "{\n  char cVar1;\n  uint uVar2;\n  uint uVar3;\n  long lVar4;\n  long lVar5;\n  long lVar6;\n  ulong uVar7;\n  ulong uVar8;\n  long lVar9;\n  ulong uVar10;\n  ulong uVar11;\n  char *pcVar12;\n  undefined8 uVar13;\n  uint *puVar14;\n  ulong uVar15;\n  char *pcVar16;\n  bool bVar17;\n  undefined1 auVar18 [16];\n  uint *local_40 [2];\n  \n  lVar9 = param_1 + 0x58;\n  lVar4 = *(long *)(param_1 + 0x60);\n  FUN_001976d0(lVar9);\n  uVar2 = *(uint *)(param_1 + 0x68);\n  FUN_001976d0(lVar9);\n  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));\n  uVar15 = auVar18._8_8_;\n  lVar9 = auVar18._0_8_;\n  if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }\n                    \n  FUN_00182e30();\n}" ({ "{") (declaration "char cVar1;" (primitive_type "char") (identifier "cVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "long lVar4;" (sized_type_specifier "long" (long "long")) (identifier "lVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "long lVar6;" (sized_type_specifier "long" (long "long")) (identifier "lVar6") (; ";")) (declaration "ulong uVar7;" (type_identifier "ulong") (identifier "uVar7") (; ";")) (declaration "ulong uVar8;" (type_identifier "ulong") (identifier "uVar8") (; ";")) (declaration "long lVar9;" (sized_type_specifier "long" (long "long")) (identifier "lVar9") (; ";")) (declaration "ulong uVar10;" (type_identifier "ulong") (identifier "uVar10") (; ";")) (declaration "ulong uVar11;" (type_identifier "ulong") (identifier "uVar11") (; ";")) (declaration "char *pcVar12;" (primitive_type "char") (pointer_declarator "*pcVar12" (* "*") (identifier "pcVar12")) (; ";")) (declaration "undefined8 uVar13;" (type_identifier "undefined8") (identifier "uVar13") (; ";")) (declaration "uint *puVar14;" (type_identifier "uint") (pointer_declarator "*puVar14" (* "*") (identifier "puVar14")) (; ";")) (declaration "ulong uVar15;" (type_identifier "ulong") (identifier "uVar15") (; ";")) (declaration "char *pcVar16;" (primitive_type "char") (pointer_declarator "*pcVar16" (* "*") (identifier "pcVar16")) (; ";")) (declaration "bool bVar17;" (primitive_type "bool") (identifier "bVar17") (; ";")) (declaration "undefined1 auVar18 [16];" (type_identifier "undefined1") (array_declarator "auVar18 [16]" (identifier "auVar18") ([ "[") (number_literal "16") (] "]")) (; ";")) (declaration "uint *local_40 [2];" (type_identifier "uint") (pointer_declarator "*local_40 [2]" (* "*") (array_declarator "local_40 [2]" (identifier "local_40") ([ "[") (number_literal "2") (] "]"))) (; ";")) (expression_statement "lVar9 = param_1 + 0x58;" (assignment_expression "lVar9 = param_1 + 0x58" (identifier "lVar9") (= "=") (binary_expression "param_1 + 0x58" (identifier "param_1") (+ "+") (number_literal "0x58"))) (; ";")) (expression_statement "lVar4 = *(long *)(param_1 + 0x60);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x60)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(param_1 + 0x60)" (* "*") (cast_expression "(long *)(param_1 + 0x60)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x60)" (( "(") (binary_expression "param_1 + 0x60" (identifier "param_1") (+ "+") (number_literal "0x60")) () ")"))))) (; ";")) (expression_statement "FUN_001976d0(lVar9);" (call_expression "FUN_001976d0(lVar9)" (identifier "FUN_001976d0") (argument_list "(lVar9)" (( "(") (identifier "lVar9") () ")"))) (; ";")) (expression_statement "uVar2 = *(uint *)(param_1 + 0x68);" (assignment_expression "uVar2 = *(uint *)(param_1 + 0x68)" (identifier "uVar2") (= "=") (pointer_expression "*(uint *)(param_1 + 0x68)" (* "*") (cast_expression "(uint *)(param_1 + 0x68)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x68)" (( "(") (binary_expression "param_1 + 0x68" (identifier "param_1") (+ "+") (number_literal "0x68")) () ")"))))) (; ";")) (expression_statement "FUN_001976d0(lVar9);" (call_expression "FUN_001976d0(lVar9)" (identifier "FUN_001976d0") (argument_list "(lVar9)" (( "(") (identifier "lVar9") () ")"))) (; ";")) (expression_statement "auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));" (assignment_expression "auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c))" (identifier "auVar18") (= "=") (call_expression "FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c))" (identifier "FUN_001978e0") (argument_list "(lVar9,*(undefined4 *)(param_1 + 0x6c))" (( "(") (identifier "lVar9") (, ",") (pointer_expression "*(undefined4 *)(param_1 + 0x6c)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x6c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x6c)" (( "(") (binary_expression "param_1 + 0x6c" (identifier "param_1") (+ "+") (number_literal "0x6c")) () ")")))) () ")")))) (; ";")) (expression_statement "uVar15 = auVar18._8_8_;" (assignment_expression "uVar15 = auVar18._8_8_" (identifier "uVar15") (= "=") (field_expression "auVar18._8_8_" (identifier "auVar18") (. ".") (field_identifier "_8_8_"))) (; ";")) (expression_statement "lVar9 = auVar18._0_8_;" (assignment_expression "lVar9 = auVar18._0_8_" (identifier "lVar9") (= "=") (field_expression "auVar18._0_8_" (identifier "auVar18") (. ".") (field_identifier "_0_8_"))) (; ";")) (if_statement "if ((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)) {\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }" (if "if") (parenthesized_expression "((((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5))" (( "(") (binary_expression "(((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&\n     ((long)(uVar15 + lVar9) <= lVar5)" (parenthesized_expression "(((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9))" (( "(") (binary_expression "((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&\n      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)" (parenthesized_expression "((-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5))" (( "(") (binary_expression "(-1 < lVar4) &&\n       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)" (parenthesized_expression "(-1 < lVar4)" (( "(") (binary_expression "-1 < lVar4" (number_literal "-1") (< "<") (identifier "lVar4")) () ")")) (&& "&&") (parenthesized_expression "(lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)" (( "(") (comma_expression "lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),\n       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5" (assignment_expression "lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10)" (identifier "lVar5") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + 0x10)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x50) + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x50) + 0x10)" (( "(") (binary_expression "*(long *)(param_1 + 0x50) + 0x10" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (+ "+") (number_literal "0x10")) () ")"))))) (, ",") (binary_expression "(long)((ulong)(uVar2 << 6) + lVar4) <= lVar5" (cast_expression "(long)((ulong)(uVar2 << 6) + lVar4)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "((ulong)(uVar2 << 6) + lVar4)" (( "(") (binary_expression "(ulong)(uVar2 << 6) + lVar4" (call_expression "(ulong)(uVar2 << 6)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar2 << 6)" (( "(") (binary_expression "uVar2 << 6" (identifier "uVar2") (<< "<<") (number_literal "6")) () ")"))) (+ "+") (identifier "lVar4")) () ")"))) (<= "<=") (identifier "lVar5"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "(lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)" (( "(") (comma_expression "lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9" (assignment_expression "lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18)" (identifier "lVar6") (= "=") (pointer_expression "*(long *)(*(long *)(param_1 + 0x50) + 0x18)" (* "*") (cast_expression "(long *)(*(long *)(param_1 + 0x50) + 0x18)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(param_1 + 0x50) + 0x18)" (( "(") (binary_expression "*(long *)(param_1 + 0x50) + 0x18" (pointer_expression "*(long *)(param_1 + 0x50)" (* "*") (cast_expression "(long *)(param_1 + 0x50)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x50)" (( "(") (binary_expression "param_1 + 0x50" (identifier "param_1") (+ "+") (number_literal "0x50")) () ")")))) (+ "+") (number_literal "0x18")) () ")"))))) (, ",") (binary_expression "-1 < lVar9" (number_literal "-1") (< "<") (identifier "lVar9"))) () ")"))) () ")")) (&& "&&") (parenthesized_expression "((long)(uVar15 + lVar9) <= lVar5)" (( "(") (binary_expression "(long)(uVar15 + lVar9) <= lVar5" (cast_expression "(long)(uVar15 + lVar9)" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (parenthesized_expression "(uVar15 + lVar9)" (( "(") (binary_expression "uVar15 + lVar9" (identifier "uVar15") (+ "+") (identifier "lVar9")) () ")"))) (<= "<=") (identifier "lVar5")) () ")"))) () ")")) (compound_statement "{\n    lVar9 = lVar6 + lVar9;\n    if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }\n    FUN_001a4d30(param_2,param_1);\n    uVar11 = (ulong)uVar2;\n    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;\n    if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }\n    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);\n    if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }\n    return;\n  }" ({ "{") (expression_statement "lVar9 = lVar6 + lVar9;" (assignment_expression "lVar9 = lVar6 + lVar9" (identifier "lVar9") (= "=") (binary_expression "lVar6 + lVar9" (identifier "lVar6") (+ "+") (identifier "lVar9"))) (; ";")) (if_statement "if (uVar15 == 0) {\n      uVar15 = 0;\n    }\n    else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" (if "if") (parenthesized_expression "(uVar15 == 0)" (( "(") (binary_expression "uVar15 == 0" (identifier "uVar15") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar15 = 0;\n    }" ({ "{") (expression_statement "uVar15 = 0;" (assignment_expression "uVar15 = 0" (identifier "uVar15") (= "=") (number_literal "0")) (; ";")) (} "}")) (else_clause "else {\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" (else "else") (compound_statement "{\n      cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }\n    }" ({ "{") (expression_statement "cVar1 = *(char *)(lVar9 + -1 + uVar15);" (assignment_expression "cVar1 = *(char *)(lVar9 + -1 + uVar15)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(lVar9 + -1 + uVar15)" (* "*") (cast_expression "(char *)(lVar9 + -1 + uVar15)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + -1 + uVar15)" (( "(") (binary_expression "lVar9 + -1 + uVar15" (binary_expression "lVar9 + -1" (identifier "lVar9") (+ "+") (number_literal "-1")) (+ "+") (identifier "uVar15")) () ")"))))) (; ";")) (while_statement "while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }" (while "while") (parenthesized_expression "((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0)))" (( "(") (parenthesized_expression "(cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))" (( "(") (binary_expression "cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0)" (binary_expression "cVar1 != '\0'" (identifier "cVar1") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (&& "&&") (parenthesized_expression "(uVar15 = uVar15 - 1, uVar15 != 0)" (( "(") (comma_expression "uVar15 = uVar15 - 1, uVar15 != 0" (assignment_expression "uVar15 = uVar15 - 1" (identifier "uVar15") (= "=") (binary_expression "uVar15 - 1" (identifier "uVar15") (- "-") (number_literal "1"))) (, ",") (binary_expression "uVar15 != 0" (identifier "uVar15") (!= "!=") (number_literal "0"))) () ")"))) () ")")) () ")")) (compound_statement "{\n        cVar1 = *(char *)(lVar9 + -1 + uVar15);\n      }" ({ "{") (expression_statement "cVar1 = *(char *)(lVar9 + -1 + uVar15);" (assignment_expression "cVar1 = *(char *)(lVar9 + -1 + uVar15)" (identifier "cVar1") (= "=") (pointer_expression "*(char *)(lVar9 + -1 + uVar15)" (* "*") (cast_expression "(char *)(lVar9 + -1 + uVar15)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + -1 + uVar15)" (( "(") (binary_expression "lVar9 + -1 + uVar15" (binary_expression "lVar9 + -1" (identifier "lVar9") (+ "+") (number_literal "-1")) (+ "+") (identifier "uVar15")) () ")"))))) (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_001a4d30(param_2,param_1);" (call_expression "FUN_001a4d30(param_2,param_1)" (identifier "FUN_001a4d30") (argument_list "(param_2,param_1)" (( "(") (identifier "param_2") (, ",") (identifier "param_1") () ")"))) (; ";")) (expression_statement "uVar11 = (ulong)uVar2;" (assignment_expression "uVar11 = (ulong)uVar2" (identifier "uVar11") (= "=") (cast_expression "(ulong)uVar2" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "uVar2"))) (; ";")) (expression_statement "uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;" (assignment_expression "uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3" (identifier "uVar10") (= "=") (binary_expression "*(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3" (binary_expression "*(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90)" (pointer_expression "*(long *)(param_1 + 0x98)" (* "*") (cast_expression "(long *)(param_1 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x98)" (( "(") (binary_expression "param_1 + 0x98" (identifier "param_1") (+ "+") (number_literal "0x98")) () ")")))) (- "-") (pointer_expression "*(long *)(param_1 + 0x90)" (* "*") (cast_expression "(long *)(param_1 + 0x90)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))))) (>> ">>") (number_literal "3"))) (; ";")) (if_statement "if (uVar10 < uVar11) {\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }\n    else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" (if "if") (parenthesized_expression "(uVar10 < uVar11)" (( "(") (binary_expression "uVar10 < uVar11" (identifier "uVar10") (< "<") (identifier "uVar11")) () ")")) (compound_statement "{\n      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);\n    }" ({ "{") (expression_statement "FUN_00192810(param_1 + 0x90,uVar11 - uVar10);" (call_expression "FUN_00192810(param_1 + 0x90,uVar11 - uVar10)" (identifier "FUN_00192810") (argument_list "(param_1 + 0x90,uVar11 - uVar10)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) (, ",") (binary_expression "uVar11 - uVar10" (identifier "uVar11") (- "-") (identifier "uVar10")) () ")"))) (; ";")) (} "}")) (else_clause "else if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" (else "else") (if_statement "if ((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" (if "if") (parenthesized_expression "((uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5))" (( "(") (binary_expression "(uVar11 < uVar10) &&\n            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)" (parenthesized_expression "(uVar11 < uVar10)" (( "(") (binary_expression "uVar11 < uVar10" (identifier "uVar11") (< "<") (identifier "uVar10")) () ")")) (&& "&&") (parenthesized_expression "(lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)" (( "(") (comma_expression "lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5" (assignment_expression "lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8" (identifier "lVar5") (= "=") (binary_expression "*(long *)(param_1 + 0x90) + uVar11 * 8" (pointer_expression "*(long *)(param_1 + 0x90)" (* "*") (cast_expression "(long *)(param_1 + 0x90)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")")))) (+ "+") (binary_expression "uVar11 * 8" (identifier "uVar11") (* "*") (number_literal "8")))) (, ",") (binary_expression "*(long *)(param_1 + 0x98) != lVar5" (pointer_expression "*(long *)(param_1 + 0x98)" (* "*") (cast_expression "(long *)(param_1 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x98)" (( "(") (binary_expression "param_1 + 0x98" (identifier "param_1") (+ "+") (number_literal "0x98")) () ")")))) (!= "!=") (identifier "lVar5"))) () ")"))) () ")")) (compound_statement "{\n      *(long *)(param_1 + 0x98) = lVar5;\n    }" ({ "{") (expression_statement "*(long *)(param_1 + 0x98) = lVar5;" (assignment_expression "*(long *)(param_1 + 0x98) = lVar5" (pointer_expression "*(long *)(param_1 + 0x98)" (* "*") (cast_expression "(long *)(param_1 + 0x98)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x98)" (( "(") (binary_expression "param_1 + 0x98" (identifier "param_1") (+ "+") (number_literal "0x98")) () ")")))) (= "=") (identifier "lVar5")) (; ";")) (} "}"))))) (expression_statement "puVar14 = (uint *)(lVar6 + 0x40 + lVar4);" (assignment_expression "puVar14 = (uint *)(lVar6 + 0x40 + lVar4)" (identifier "puVar14") (= "=") (cast_expression "(uint *)(lVar6 + 0x40 + lVar4)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar6 + 0x40 + lVar4)" (( "(") (binary_expression "lVar6 + 0x40 + lVar4" (binary_expression "lVar6 + 0x40" (identifier "lVar6") (+ "+") (number_literal "0x40")) (+ "+") (identifier "lVar4")) () ")")))) (; ";")) (if_statement "if (1 < uVar2) {\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }" (if "if") (parenthesized_expression "(1 < uVar2)" (( "(") (binary_expression "1 < uVar2" (number_literal "1") (< "<") (identifier "uVar2")) () ")")) (compound_statement "{\n      uVar10 = 0;\n      do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);\n    }" ({ "{") (expression_statement "uVar10 = 0;" (assignment_expression "uVar10 = 0" (identifier "uVar10") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      } while (bVar17);" (do "do") (compound_statement "{\n        uVar3 = *puVar14;\n        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);\n        pcVar12 = (char *)0x0;\n        if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }\n        local_40[0] = puVar14;\n        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }\n        puVar14 = puVar14 + 0x10;\n        lVar4 = *(long *)(param_1 + 0x90);\n        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);\n        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;\n        bVar17 = uVar2 - 2 != uVar10;\n        uVar10 = uVar10 + 1;\n      }" ({ "{") (expression_statement "uVar3 = *puVar14;" (assignment_expression "uVar3 = *puVar14" (identifier "uVar3") (= "=") (pointer_expression "*puVar14" (* "*") (identifier "puVar14"))) (; ";")) (expression_statement "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18);" (assignment_expression "uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (identifier "uVar11") (= "=") (call_expression "(ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18)" (( "(") (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                        uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" (( "(") (binary_expression "uVar3 & 0xff0000" (identifier "uVar3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" (( "(") (binary_expression "uVar3 & 0xff00" (identifier "uVar3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar3 << 0x18" (identifier "uVar3") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "pcVar12 = (char *)0x0;" (assignment_expression "pcVar12 = (char *)0x0" (identifier "pcVar12") (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (uVar11 < uVar15) {\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }" (if "if") (parenthesized_expression "(uVar11 < uVar15)" (( "(") (binary_expression "uVar11 < uVar15" (identifier "uVar11") (< "<") (identifier "uVar15")) () ")")) (compound_statement "{\n          pcVar12 = (char *)(lVar9 + uVar11);\n        }" ({ "{") (expression_statement "pcVar12 = (char *)(lVar9 + uVar11);" (assignment_expression "pcVar12 = (char *)(lVar9 + uVar11)" (identifier "pcVar12") (= "=") (cast_expression "(char *)(lVar9 + uVar11)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar9 + uVar11)" (( "(") (binary_expression "lVar9 + uVar11" (identifier "lVar9") (+ "+") (identifier "uVar11")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_40[0] = puVar14;" (assignment_expression "local_40[0] = puVar14" (subscript_expression "local_40[0]" (identifier "local_40") ([ "[") (number_literal "0") (] "]")) (= "=") (identifier "puVar14")) (; ";")) (if_statement "if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }" (if "if") (parenthesized_expression "((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0))" (( "(") (binary_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (&& "&&") (parenthesized_expression "((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)" (( "(") (binary_expression "(PTR_DAT_0043e6b0[0x24] & 0x10) != 0" (parenthesized_expression "(PTR_DAT_0043e6b0[0x24] & 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0[0x24] & 0x10" (subscript_expression "PTR_DAT_0043e6b0[0x24]" (identifier "PTR_DAT_0043e6b0") ([ "[") (number_literal "0x24") (] "]")) (& "&") (number_literal "0x10")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n          uVar3 = puVar14[1];\n          pcVar16 = "<null>";\n          if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }\n          uVar11 = *(ulong *)(puVar14 + 8);\n          uVar7 = *(ulong *)(puVar14 + 6);\n          uVar8 = *(ulong *)(puVar14 + 4);\n          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);\n        }" ({ "{") (expression_statement "uVar3 = puVar14[1];" (assignment_expression "uVar3 = puVar14[1]" (identifier "uVar3") (= "=") (subscript_expression "puVar14[1]" (identifier "puVar14") ([ "[") (number_literal "1") (] "]"))) (; ";")) (expression_statement "pcVar16 = "<null>";" (assignment_expression "pcVar16 = "<null>"" (identifier "pcVar16") (= "=") (string_literal ""<null>"" (" """) (string_content "<null>") (" """))) (; ";")) (if_statement "if (pcVar12 != (char *)0x0) {\n            pcVar16 = pcVar12;\n          }" (if "if") (parenthesized_expression "(pcVar12 != (char *)0x0)" (( "(") (binary_expression "pcVar12 != (char *)0x0" (identifier "pcVar12") (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n            pcVar16 = pcVar12;\n          }" ({ "{") (expression_statement "pcVar16 = pcVar12;" (assignment_expression "pcVar16 = pcVar12" (identifier "pcVar16") (= "=") (identifier "pcVar12")) (; ";")) (} "}"))) (expression_statement "uVar11 = *(ulong *)(puVar14 + 8);" (assignment_expression "uVar11 = *(ulong *)(puVar14 + 8)" (identifier "uVar11") (= "=") (pointer_expression "*(ulong *)(puVar14 + 8)" (* "*") (cast_expression "(ulong *)(puVar14 + 8)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 8)" (( "(") (binary_expression "puVar14 + 8" (identifier "puVar14") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (expression_statement "uVar7 = *(ulong *)(puVar14 + 6);" (assignment_expression "uVar7 = *(ulong *)(puVar14 + 6)" (identifier "uVar7") (= "=") (pointer_expression "*(ulong *)(puVar14 + 6)" (* "*") (cast_expression "(ulong *)(puVar14 + 6)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 6)" (( "(") (binary_expression "puVar14 + 6" (identifier "puVar14") (+ "+") (number_literal "6")) () ")"))))) (; ";")) (expression_statement "uVar8 = *(ulong *)(puVar14 + 4);" (assignment_expression "uVar8 = *(ulong *)(puVar14 + 4)" (identifier "uVar8") (= "=") (pointer_expression "*(ulong *)(puVar14 + 4)" (* "*") (cast_expression "(ulong *)(puVar14 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar14 + 4)" (( "(") (binary_expression "puVar14 + 4" (identifier "puVar14") (+ "+") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16);" (call_expression "FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16)" (identifier "FUN_00178100") (argument_list "(*(undefined8 *)PTR_DAT_0043e6b0,\n                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,\n                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,\n                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,\n                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,\n                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18,pcVar16)" (( "(") (pointer_expression "*(undefined8 *)PTR_DAT_0043e6b0" (* "*") (cast_expression "(undefined8 *)PTR_DAT_0043e6b0" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_DAT_0043e6b0"))) (, ",") (string_literal ""Output section: %2d %08lx %08lx %08lx %3d %s"" (" """) (string_content "Output section: %2d %08lx %08lx %08lx %3d %s") (" """)) (, ",") (binary_expression "(int)uVar10 + 1" (cast_expression "(int)uVar10" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar10")) (+ "+") (number_literal "1")) (, ",") (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |\n                       (uVar8 & 0xff00) << 0x28" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |\n                       (uVar8 & 0xff000000) << 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |\n                       (uVar8 & 0xff0000000000) >> 0x18" (binary_expression "uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28" (binary_expression "uVar8 >> 0x38" (identifier "uVar8") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar8 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar8 & 0xff000000000000)" (( "(") (binary_expression "uVar8 & 0xff000000000000" (identifier "uVar8") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar8 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar8 & 0xff0000000000)" (( "(") (binary_expression "uVar8 & 0xff0000000000" (identifier "uVar8") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar8 & 0xff00000000) >> 8" (parenthesized_expression "(uVar8 & 0xff00000000)" (( "(") (binary_expression "uVar8 & 0xff00000000" (identifier "uVar8") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff000000) << 8" (parenthesized_expression "(uVar8 & 0xff000000)" (( "(") (binary_expression "uVar8 & 0xff000000" (identifier "uVar8") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff0000) << 0x18" (parenthesized_expression "(uVar8 & 0xff0000)" (( "(") (binary_expression "uVar8 & 0xff0000" (identifier "uVar8") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar8 & 0xff00) << 0x28" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar8 << 0x38" (identifier "uVar8") (<< "<<") (number_literal "0x38"))) (, ",") (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |\n                       (uVar7 & 0xff00) << 0x28" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |\n                       (uVar7 & 0xff000000) << 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |\n                       (uVar7 & 0xff0000000000) >> 0x18" (binary_expression "uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28" (binary_expression "uVar7 >> 0x38" (identifier "uVar7") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar7 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar7 & 0xff000000000000)" (( "(") (binary_expression "uVar7 & 0xff000000000000" (identifier "uVar7") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar7 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar7 & 0xff0000000000)" (( "(") (binary_expression "uVar7 & 0xff0000000000" (identifier "uVar7") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar7 & 0xff00000000) >> 8" (parenthesized_expression "(uVar7 & 0xff00000000)" (( "(") (binary_expression "uVar7 & 0xff00000000" (identifier "uVar7") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff000000) << 8" (parenthesized_expression "(uVar7 & 0xff000000)" (( "(") (binary_expression "uVar7 & 0xff000000" (identifier "uVar7") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff0000) << 0x18" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 0x28" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar7 << 0x38" (identifier "uVar7") (<< "<<") (number_literal "0x38"))) (, ",") (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |\n                       (uVar11 & 0xff00) << 0x28" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |\n                       (uVar11 & 0xff000000) << 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |\n                       (uVar11 & 0xff0000000000) >> 0x18" (binary_expression "uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28" (binary_expression "uVar11 >> 0x38" (identifier "uVar11") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar11 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar11 & 0xff000000000000)" (( "(") (binary_expression "uVar11 & 0xff000000000000" (identifier "uVar11") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar11 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar11 & 0xff0000000000)" (( "(") (binary_expression "uVar11 & 0xff0000000000" (identifier "uVar11") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar11 & 0xff00000000) >> 8" (parenthesized_expression "(uVar11 & 0xff00000000)" (( "(") (binary_expression "uVar11 & 0xff00000000" (identifier "uVar11") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff000000) << 8" (parenthesized_expression "(uVar11 & 0xff000000)" (( "(") (binary_expression "uVar11 & 0xff000000" (identifier "uVar11") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar11 & 0xff0000) << 0x18" (parenthesized_expression "(uVar11 & 0xff0000)" (( "(") (binary_expression "uVar11 & 0xff0000" (identifier "uVar11") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar11 & 0xff00) << 0x28" (parenthesized_expression "(uVar11 & 0xff00)" (( "(") (binary_expression "uVar11 & 0xff00" (identifier "uVar11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar11 << 0x38" (identifier "uVar11") (<< "<<") (number_literal "0x38"))) (, ",") (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |\n                       uVar3 << 0x18" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8" (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8" (binary_expression "uVar3 >> 0x18" (identifier "uVar3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar3 & 0xff0000) >> 8" (parenthesized_expression "(uVar3 & 0xff0000)" (( "(") (binary_expression "uVar3 & 0xff0000" (identifier "uVar3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar3 & 0xff00) << 8" (parenthesized_expression "(uVar3 & 0xff00)" (( "(") (binary_expression "uVar3 & 0xff00" (identifier "uVar3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar3 << 0x18" (identifier "uVar3") (<< "<<") (number_literal "0x18"))) (, ",") (identifier "pcVar16") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar14 = puVar14 + 0x10;" (assignment_expression "puVar14 = puVar14 + 0x10" (identifier "puVar14") (= "=") (binary_expression "puVar14 + 0x10" (identifier "puVar14") (+ "+") (number_literal "0x10"))) (; ";")) (expression_statement "lVar4 = *(long *)(param_1 + 0x90);" (assignment_expression "lVar4 = *(long *)(param_1 + 0x90)" (identifier "lVar4") (= "=") (pointer_expression "*(long *)(param_1 + 0x90)" (* "*") (cast_expression "(long *)(param_1 + 0x90)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x90)" (( "(") (binary_expression "param_1 + 0x90" (identifier "param_1") (+ "+") (number_literal "0x90")) () ")"))))) (; ";")) (expression_statement "uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);" (assignment_expression "uVar13 = FUN_001b6c40(param_2,pcVar12,local_40)" (identifier "uVar13") (= "=") (call_expression "FUN_001b6c40(param_2,pcVar12,local_40)" (identifier "FUN_001b6c40") (argument_list "(param_2,pcVar12,local_40)" (( "(") (identifier "param_2") (, ",") (identifier "pcVar12") (, ",") (identifier "local_40") () ")")))) (; ";")) (expression_statement "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;" (assignment_expression "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13" (pointer_expression "*(undefined8 *)(lVar4 + (uVar10 + 1) * 8)" (* "*") (cast_expression "(undefined8 *)(lVar4 + (uVar10 + 1) * 8)" (( "(") (type_descriptor "undefined8 *" (type_identifier "undefined8") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar4 + (uVar10 + 1) * 8)" (( "(") (binary_expression "lVar4 + (uVar10 + 1) * 8" (identifier "lVar4") (+ "+") (binary_expression "(uVar10 + 1) * 8" (parenthesized_expression "(uVar10 + 1)" (( "(") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1")) () ")")) (* "*") (number_literal "8"))) () ")")))) (= "=") (identifier "uVar13")) (; ";")) (expression_statement "bVar17 = uVar2 - 2 != uVar10;" (assignment_expression "bVar17 = uVar2 - 2 != uVar10" (identifier "bVar17") (= "=") (binary_expression "uVar2 - 2 != uVar10" (binary_expression "uVar2 - 2" (identifier "uVar2") (- "-") (number_literal "2")) (!= "!=") (identifier "uVar10"))) (; ";")) (expression_statement "uVar10 = uVar10 + 1;" (assignment_expression "uVar10 = uVar10 + 1" (identifier "uVar10") (= "=") (binary_expression "uVar10 + 1" (identifier "uVar10") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(bVar17)" (( "(") (identifier "bVar17") () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00182e30();" (call_expression "FUN_00182e30()" (identifier "FUN_00182e30") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void do_init_layout(Sized_incremental_binary<64,_true> * this, Layout *
   layout) */

void __thiscall
var_9::Sized_incremental_binary<64,var_24>::do_init_layout
          (Sized_incremental_binary<64,var_24> *this,Layout *layout)

{
  type_4 var_7;
  type_1 var_4;
  type_1 var_17;
  long var_3;
  type_2 var_16;
  type_2 var_15;
  type_3 var_21;
  type_3 var_20;
  long var_5;
  type_3 var_12;
  type_3 var_13;
  type_4 *var_18;
  type_5 *pOVar12;
  type_6 *this_1;
  var_1<64> *var_22;
  size_t var_6;
  type_4 *puVar14;
  type_6 *this_00;
  bool bVar15;
  type_7 LVar16;
  type_8 shdr;
  
  this_00 = (type_6 *)&this->elf_file_;
  var_3 = (this->elf_file_).shoff_;
  elfcpp::Elf_file<64,var_24,_gold::var_2>::initialize_shnum
            ((Elf_file<64,var_24,_gold::var_2> *)this_00);
  var_4 = (this->elf_file_).shnum_;
  elfcpp::Elf_file<64,var_24,_gold::var_2>::initialize_shnum
            ((Elf_file<64,var_24,_gold::var_2> *)this_00);
  var_17 = (this->elf_file_).shstrndx_;
  var_12 = (type_3)var_17;
  LVar16 = elfcpp::Elf_file<64,var_24,_gold::var_2>::section_contents
                     ((Elf_file<64,var_24,_gold::var_2> *)this_00,var_17);
  var_6 = LVar16.data_size;
  var_5 = LVar16.file_offset;
  this_1 = (this->super_Incremental_binary).output_;
  if ((((-1 < var_3) &&
       (var_12 = this_1->file_size_, (long)((type_3)(var_4 << 6) + var_3) <= (long)var_12)) &&
      (this_1 = (type_6 *)this_1->base_, -1 < var_5)) &&
     (this_00 = (type_6 *)(var_6 + var_5), (long)this_00 <= (long)var_12)) {
    if (var_6 == 0) {
      var_6 = 0;
    }
    else {
      var_7 = *(type_4 *)((long)this_1 + var_6 + var_5 + -1);
      while ((var_7 != '\0' && (var_6 = var_6 - 1, var_6 != 0))) {
        var_7 = *(type_4 *)((long)this_1 + var_6 + var_5 + -1);
      }
    }
    Layout::var_8(layout,&this->super_Incremental_binary);
    var_16 = (this->section_map_).
              super__Vector_base<var_9::type_5*,var_10::allocator<var_9::type_5*>var_11>.
              _M_impl._M_finish;
    var_13 = (type_3)var_4;
    var_15 = (this->section_map_).
              super__Vector_base<var_9::type_5*,var_10::allocator<var_9::type_5*>var_11>.
              _M_impl._M_start;
    var_12 = (long)var_16 - (long)var_15 >> 3;
    if (var_12 < var_13) {
      std::vector<var_9::type_5*,var_10::allocator<var_9::type_5*>var_11>::var_14
                (&this->section_map_,var_13 - var_12);
    }
    else if ((var_13 < var_12) && (var_15 = var_15 + var_13, var_16 != var_15)) {
      (this->section_map_).
      super__Vector_base<var_9::type_5*,var_10::allocator<var_9::type_5*>var_11>._M_impl.
      _M_finish = var_15;
    }
    var_22 = (var_1<64> *)((long)&this_1[1].base_ + var_3);
    if (1 < var_4) {
      var_12 = 0;
      do {
        var_17 = var_22->sh_name;
        var_13 = (type_3)(var_17 >> 0x18 | (var_17 & 0xff0000) >> 8 | (var_17 & 0xff00) << 8 |
                        var_17 << 0x18);
        var_18 = (type_4 *)0x0;
        if (var_13 < var_6) {
          var_18 = (type_4 *)((long)&this_1->name_ + var_13 + var_5);
        }
        shdr.p_ = var_22;
        if ((parameters->options_ != (type_9 *)0x0) && ((parameters->debug_ & 0x10) != 0))
        {
          var_17 = var_22->sh_type;
          puVar14 = (type_4 *)"<null>";
          if (var_18 != (type_4 *)0x0) {
            puVar14 = var_18;
          }
          var_13 = var_22->sh_size;
          var_21 = var_22->sh_offset;
          var_20 = var_22->sh_addr;
          Errors::var_19(parameters->errors_,"Output section: %2d %08lx %08lx %08lx %3d %s",
                        (type_3)((int)var_12 + 1),
                        var_20 >> 0x38 | (var_20 & 0xff000000000000) >> 0x28 |
                        (var_20 & 0xff0000000000) >> 0x18 | (var_20 & 0xff00000000) >> 8 |
                        (var_20 & 0xff000000) << 8 | (var_20 & 0xff0000) << 0x18 |
                        (var_20 & 0xff00) << 0x28 | var_20 << 0x38,
                        var_21 >> 0x38 | (var_21 & 0xff000000000000) >> 0x28 |
                        (var_21 & 0xff0000000000) >> 0x18 | (var_21 & 0xff00000000) >> 8 |
                        (var_21 & 0xff000000) << 8 | (var_21 & 0xff0000) << 0x18 |
                        (var_21 & 0xff00) << 0x28 | var_21 << 0x38,
                        var_13 >> 0x38 | (var_13 & 0xff000000000000) >> 0x28 |
                        (var_13 & 0xff0000000000) >> 0x18 | (var_13 & 0xff00000000) >> 8 |
                        (var_13 & 0xff000000) << 8 | (var_13 & 0xff0000) << 0x18 |
                        (var_13 & 0xff00) << 0x28 | var_13 << 0x38,
                        (type_3)(var_17 >> 0x18 | (var_17 & 0xff0000) >> 8 | (var_17 & 0xff00) << 8 |
                               var_17 << 0x18),puVar14);
        }
        var_22 = var_22 + 1;
        var_15 = (this->section_map_).
                  super__Vector_base<var_9::type_5*,var_10::allocator<var_9::type_5*>var_11>.
                  _M_impl._M_start;
        pOVar12 = Layout::var_23<64,var_24>(layout,(char *)var_18,&shdr);
        var_15[var_12 + 1] = pOVar12;
        bVar15 = var_4 - 2 != var_12;
        var_12 = var_12 + 1;
      } while (bVar15);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  Output_file::var_25(this_00,var_12,var_6,this_1);
}


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

void MASKED(long param_1,undefined8 param_2)

{
  char cVar1;
  uint uVar2;
  uint uVar3;
  long lVar4;
  long lVar5;
  long lVar6;
  ulong uVar7;
  ulong uVar8;
  long lVar9;
  ulong uVar10;
  ulong uVar11;
  char *pcVar12;
  undefined8 uVar13;
  uint *puVar14;
  ulong uVar15;
  char *pcVar16;
  bool bVar17;
  undefined1 auVar18 [16];
  uint *local_40 [2];
  
  lVar9 = param_1 + 0x58;
  lVar4 = *(long *)(param_1 + 0x60);
  FUN_001976d0(lVar9);
  uVar2 = *(uint *)(param_1 + 0x68);
  FUN_001976d0(lVar9);
  auVar18 = FUN_001978e0(lVar9,*(undefined4 *)(param_1 + 0x6c));
  uVar15 = auVar18._8_8_;
  lVar9 = auVar18._0_8_;
  if ((((-1 < lVar4) &&
       (lVar5 = *(long *)(*(long *)(param_1 + 0x50) + 0x10),
       (long)((ulong)(uVar2 << 6) + lVar4) <= lVar5)) &&
      (lVar6 = *(long *)(*(long *)(param_1 + 0x50) + 0x18), -1 < lVar9)) &&
     ((long)(uVar15 + lVar9) <= lVar5)) {
    lVar9 = lVar6 + lVar9;
    if (uVar15 == 0) {
      uVar15 = 0;
    }
    else {
      cVar1 = *(char *)(lVar9 + -1 + uVar15);
      while ((cVar1 != '\0' && (uVar15 = uVar15 - 1, uVar15 != 0))) {
        cVar1 = *(char *)(lVar9 + -1 + uVar15);
      }
    }
    FUN_001a4d30(param_2,param_1);
    uVar11 = (ulong)uVar2;
    uVar10 = *(long *)(param_1 + 0x98) - *(long *)(param_1 + 0x90) >> 3;
    if (uVar10 < uVar11) {
      FUN_00192810(param_1 + 0x90,uVar11 - uVar10);
    }
    else if ((uVar11 < uVar10) &&
            (lVar5 = *(long *)(param_1 + 0x90) + uVar11 * 8, *(long *)(param_1 + 0x98) != lVar5)) {
      *(long *)(param_1 + 0x98) = lVar5;
    }
    puVar14 = (uint *)(lVar6 + 0x40 + lVar4);
    if (1 < uVar2) {
      uVar10 = 0;
      do {
        uVar3 = *puVar14;
        uVar11 = (ulong)(uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                        uVar3 << 0x18);
        pcVar12 = (char *)0x0;
        if (uVar11 < uVar15) {
          pcVar12 = (char *)(lVar9 + uVar11);
        }
        local_40[0] = puVar14;
        if ((*(long *)(PTR_DAT_0043e6b0 + 0x10) != 0) && ((PTR_DAT_0043e6b0[0x24] & 0x10) != 0)) {
          uVar3 = puVar14[1];
          pcVar16 = "<null>";
          if (pcVar12 != (char *)0x0) {
            pcVar16 = pcVar12;
          }
          uVar11 = *(ulong *)(puVar14 + 8);
          uVar7 = *(ulong *)(puVar14 + 6);
          uVar8 = *(ulong *)(puVar14 + 4);
          FUN_00178100(*(undefined8 *)PTR_DAT_0043e6b0,
                       "Output section: %2d %08lx %08lx %08lx %3d %s",(int)uVar10 + 1,
                       uVar8 >> 0x38 | (uVar8 & 0xff000000000000) >> 0x28 |
                       (uVar8 & 0xff0000000000) >> 0x18 | (uVar8 & 0xff00000000) >> 8 |
                       (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 |
                       (uVar8 & 0xff00) << 0x28 | uVar8 << 0x38,
                       uVar7 >> 0x38 | (uVar7 & 0xff000000000000) >> 0x28 |
                       (uVar7 & 0xff0000000000) >> 0x18 | (uVar7 & 0xff00000000) >> 8 |
                       (uVar7 & 0xff000000) << 8 | (uVar7 & 0xff0000) << 0x18 |
                       (uVar7 & 0xff00) << 0x28 | uVar7 << 0x38,
                       uVar11 >> 0x38 | (uVar11 & 0xff000000000000) >> 0x28 |
                       (uVar11 & 0xff0000000000) >> 0x18 | (uVar11 & 0xff00000000) >> 8 |
                       (uVar11 & 0xff000000) << 8 | (uVar11 & 0xff0000) << 0x18 |
                       (uVar11 & 0xff00) << 0x28 | uVar11 << 0x38,
                       uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 |
                       uVar3 << 0x18,pcVar16);
        }
        puVar14 = puVar14 + 0x10;
        lVar4 = *(long *)(param_1 + 0x90);
        uVar13 = FUN_001b6c40(param_2,pcVar12,local_40);
        *(undefined8 *)(lVar4 + (uVar10 + 1) * 8) = uVar13;
        bVar17 = uVar2 - 2 != uVar10;
        uVar10 = uVar10 + 1;
      } while (bVar17);
    }
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00182e30();
}

