
/* DWARF original prototype: void write_shdr(Dwp_output_file * this, char * name, uint type, uint
   flags, uint64_t addr, off_t offset, section_size_type sect_size, uint link, uint info, uint
   align, uint ent_size) */

void __thiscall
gold::Dwp_output_file::write_shdr
          (Dwp_output_file *this,char *name,uint type,uint flags,uint64_t addr,off_t offset,
          section_size_type sect_size,uint link,uint info,uint align,uint ent_size)

{
  char *pcVar1;
  uint uVar2;
  uint uVar3;
  section_offset_type sVar4;
  ulong uVar5;
  size_t sVar6;
  char *format;
  uint uVar7;
  ulong uVar8;
  uint uVar9;
  uint uVar10;
  uchar buf [64];
  
  uVar8 = (ulong)flags;
  buf._4_4_ = type;
  if (this->size_ == 0x20) {
    buf._0_4_ = 0;
    uVar3 = (uint)addr;
    uVar2 = (uint)offset;
    if (this->big_endian_ == 0) {
      if (name != (char *)0x0) {
        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);
        buf._0_4_ = (undefined4)sVar4;
      }
      buf[0xc] = (char)uVar3;
      buf[0xd] = (char)(uVar3 >> 8);
      buf[0xe] = (char)(uVar3 >> 0x10);
      buf[0xf] = (char)(uVar3 >> 0x18);
      buf._8_4_ = flags;
      buf._28_4_ = info;
      buf._24_4_ = link;
      buf._20_4_ = (uint)sect_size;
      buf._16_4_ = uVar2;
    }
    else {
      if (name != (char *)0x0) {
        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);
        uVar7 = (uint)sVar4;
        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;
      }
      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;
      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;
      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;
      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;
      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |
              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;
      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;
      buf[0xc] = (char)uVar10;
      buf[0xd] = (char)(uVar10 >> 8);
      buf[0xe] = (char)(uVar10 >> 0x10);
      buf[0xf] = (char)(uVar10 >> 0x18);
      buf[8] = (char)uVar7;
      buf[9] = (char)(uVar7 >> 8);
      buf[10] = (char)(uVar7 >> 0x10);
      buf[0xb] = (char)(uVar7 >> 0x18);
      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;
      buf[0x1c] = (char)uVar7;
      buf[0x1d] = (char)(uVar7 >> 8);
      buf[0x1e] = (char)(uVar7 >> 0x10);
      buf[0x1f] = (char)(uVar7 >> 0x18);
      buf[0x18] = (char)uVar3;
      buf[0x19] = (char)(uVar3 >> 8);
      buf[0x1a] = (char)(uVar3 >> 0x10);
      buf[0x1b] = (char)(uVar3 >> 0x18);
      buf[0x14] = (char)uVar2;
      buf[0x15] = (char)(uVar2 >> 8);
      buf[0x16] = (char)(uVar2 >> 0x10);
      buf[0x17] = (char)(uVar2 >> 0x18);
      buf[0x10] = (char)uVar9;
      buf[0x11] = (char)(uVar9 >> 8);
      buf[0x12] = (char)(uVar9 >> 0x10);
      buf[0x13] = (char)(uVar9 >> 0x18);
      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;
      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |
                 ent_size << 0x18;
    }
    buf[0x24] = (char)ent_size;
    buf[0x25] = (char)(ent_size >> 8);
    buf[0x26] = (char)(ent_size >> 0x10);
    buf[0x27] = (char)(ent_size >> 0x18);
    buf[0x20] = (char)align;
    buf[0x21] = (char)(align >> 8);
    buf[0x22] = (char)(align >> 0x10);
    buf[0x23] = (char)(align >> 0x18);
    sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_);
    if (sVar6 < 0x28) goto LAB_00152025;
  }
  else {
    if (this->size_ != 0x40) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");
    }
    buf._0_4_ = 0;
    if (this->big_endian_ == 0) {
      if (name != (char *)0x0) {
        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);
        buf._0_4_ = (undefined4)sVar4;
      }
      buf._32_8_ = sect_size;
      buf._40_4_ = link;
      buf._44_4_ = info;
      buf._48_8_ = ZEXT48(align);
      buf._56_8_ = ZEXT48(ent_size);
      buf._8_8_ = uVar8;
      buf._16_8_ = addr;
      buf._24_8_ = offset;
    }
    else {
      if (name != (char *)0x0) {
        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);
        uVar2 = (uint)sVar4;
        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;
      }
      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;
      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |
                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |
                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |
                   addr << 0x38;
      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |
                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |
                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |
                   (offset & 0xff00U) << 0x28 | offset << 0x38;
      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |
                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |
                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |
                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;
      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;
      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;
      uVar5 = (ulong)align;
      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28
                   | uVar5 << 0x38;
      uVar5 = (ulong)ent_size;
      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28
                   | uVar5 << 0x38;
      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28
                  | uVar8 << 0x38;
    }
    sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);
    if (sVar6 < 0x40) {
LAB_00152025:
      pcVar1 = this->name_;
      format = (char *)gettext("%s: error writing section header table");
                    /* WARNING: Subroutine does not return */
      gold_fatal(format,pcVar1);
    }
  }
  return;
}



void FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,
                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)

{
  undefined8 uVar1;
  uint uVar2;
  uint uVar3;
  ulong uVar4;
  size_t sVar5;
  undefined8 uVar6;
  uint uVar7;
  uint uVar8;
  uint local_68;
  uint local_64;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  uint local_40;
  uint local_3c;
  ulong local_38;
  ulong local_30;
  
  uVar2 = (uint)param_4;
  local_64 = param_3;
  if (*(int *)((long)param_1 + 0xc) == 0x20) {
    local_68 = 0;
    uVar8 = (uint)param_5;
    uVar7 = (uint)param_6;
    if (*(int *)(param_1 + 2) == 0) {
      if (param_2 != 0) {
        local_68 = FUN_0026df00(param_1 + 0x21);
      }
      local_60 = CONCAT44(uVar8,uVar2);
      local_50 = CONCAT44(param_9,param_8);
      local_58 = CONCAT44((uint)param_7,uVar7);
    }
    else {
      if (param_2 != 0) {
        uVar3 = FUN_0026df00(param_1 + 0x21);
        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;
      }
      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |
                 param_3 << 0x18;
      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |
                          uVar8 << 0x18,
                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                          uVar2 << 0x18);
      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |
                          param_9 << 0x18,
                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |
                          param_8 << 0x18);
      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |
                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,
                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                          uVar7 << 0x18);
      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |
                 param_10 << 0x18;
      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |
                 param_11 << 0x18;
    }
    local_48 = CONCAT44(param_11,param_10);
    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);
    if (sVar5 < 0x28) goto LAB_00152025;
  }
  else {
    if (*(int *)((long)param_1 + 0xc) != 0x40) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");
    }
    local_68 = 0;
    if (*(int *)(param_1 + 2) == 0) {
      if (param_2 != 0) {
        local_68 = FUN_0026df00(param_1 + 0x21);
      }
      local_48 = param_7;
      local_40 = param_8;
      local_3c = param_9;
      local_38 = (ulong)param_10;
      local_30 = (ulong)param_11;
      local_60 = param_4 & 0xffffffff;
      local_58 = param_5;
      local_50 = param_6;
    }
    else {
      if (param_2 != 0) {
        uVar2 = FUN_0026df00(param_1 + 0x21);
        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;
      }
      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |
                 param_3 << 0x18;
      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |
                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |
                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |
                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;
      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |
                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |
                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |
                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;
      local_48 = (ulong)(param_7._4_4_ >> 0x18) |
                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |
                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |
                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |
                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;
      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |
                 param_8 << 0x18;
      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |
                 param_9 << 0x18;
      uVar4 = (ulong)param_10;
      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                 uVar4 << 0x38;
      uVar4 = (ulong)param_11;
      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                 uVar4 << 0x38;
      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |
                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;
    }
    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);
    if (sVar5 < 0x40) {
LAB_00152025:
      uVar1 = *param_1;
      uVar6 = gettext("%s: error writing section header table");
                    /* WARNING: Subroutine does not return */
      FUN_001781e0(uVar6,uVar1);
    }
  }
  return;
}


PUSH R14
MOV R14D,EDX
PUSH R13
MOV R13,R8
PUSH R12
MOV R12,R9
PUSH RBP
MOV EBP,ECX
PUSH RBX
MOV RBX,RDI
SUB RSP,0x40
MOV EAX,dword ptr [RDI + 0xc]
CMP EAX,0x20
JZ 0x00151fa0
CMP EAX,0x40
JNZ 0x001520b8
MOV EDX,dword ptr [RDI + 0x10]
XOR EAX,EAX
TEST EDX,EDX
JZ 0x00151f38
TEST RSI,RSI
JZ 0x00151e9f
LEA RDI,[RDI + 0x108]
CALL 0x0026df00
BSWAP EAX
MOV dword ptr [RSP],EAX
BSWAP R14D
BSWAP RBP
BSWAP R13
MOV RAX,qword ptr [RSP + 0x70]
BSWAP R12
MOV dword ptr [RSP + 0x4],R14D
MOV qword ptr [RSP + 0x8],RBP
BSWAP RAX
MOV qword ptr [RSP + 0x20],RAX
MOV EAX,dword ptr [RSP + 0x78]
MOV qword ptr [RSP + 0x10],R13
BSWAP EAX
MOV dword ptr [RSP + 0x28],EAX
MOV EAX,dword ptr [RSP + 0x80]
MOV qword ptr [RSP + 0x18],R12
BSWAP EAX
MOV dword ptr [RSP + 0x2c],EAX
MOV EAX,dword ptr [RSP + 0x88]
BSWAP RAX
MOV qword ptr [RSP + 0x30],RAX
MOV EAX,dword ptr [RSP + 0x90]
BSWAP RAX
MOV RCX,qword ptr [RBX + 0x20]
MOV RDI,RSP
MOV EDX,0x40
MOV ESI,0x1
MOV qword ptr [RSP + 0x38],RAX
CALL 0x001479a0
CMP RAX,0x3f
JBE 0x00152025
ADD RSP,0x40
POP RBX
POP RBP
POP R12
POP R13
POP R14
RET
TEST RSI,RSI
JZ 0x00151f49
LEA RDI,[RDI + 0x108]
CALL 0x0026df00
MOV dword ptr [RSP],EAX
MOV EAX,EBP
MOV qword ptr [RSP + 0x8],RAX
MOV RAX,qword ptr [RSP + 0x70]
MOV dword ptr [RSP + 0x4],R14D
MOV qword ptr [RSP + 0x20],RAX
MOV EAX,dword ptr [RSP + 0x78]
MOV qword ptr [RSP + 0x10],R13
MOV dword ptr [RSP + 0x28],EAX
MOV EAX,dword ptr [RSP + 0x80]
MOV qword ptr [RSP + 0x18],R12
MOV dword ptr [RSP + 0x2c],EAX
MOV EAX,dword ptr [RSP + 0x88]
MOV qword ptr [RSP + 0x30],RAX
MOV EAX,dword ptr [RSP + 0x90]
JMP 0x00151eff
MOV ECX,dword ptr [RDI + 0x10]
XOR EAX,EAX
TEST ECX,ECX
JNZ 0x00152048
TEST RSI,RSI
JZ 0x00151fbe
LEA RDI,[RDI + 0x108]
CALL 0x0026df00
MOV dword ptr [RSP],EAX
MOV EAX,dword ptr [RSP + 0x70]
MOV dword ptr [RSP + 0x4],R14D
MOV dword ptr [RSP + 0x14],EAX
MOV EAX,dword ptr [RSP + 0x78]
MOV dword ptr [RSP + 0x8],EBP
MOV dword ptr [RSP + 0x18],EAX
MOV EAX,dword ptr [RSP + 0x80]
MOV dword ptr [RSP + 0xc],R13D
MOV dword ptr [RSP + 0x1c],EAX
MOV EAX,dword ptr [RSP + 0x88]
MOV dword ptr [RSP + 0x10],R12D
MOV dword ptr [RSP + 0x20],EAX
MOV EAX,dword ptr [RSP + 0x90]
MOV RCX,qword ptr [RBX + 0x20]
MOV RDI,RSP
MOV EDX,0x28
MOV dword ptr [RSP + 0x24],EAX
MOV ESI,0x1
CALL 0x001479a0
CMP RAX,0x27
JA 0x00151f24
MOV RBX,qword ptr [RBX]
LEA RDI,[0x36b260]
CALL 0x00147320
MOV RDI,RAX
MOV RSI,RBX
XOR EAX,EAX
CALL 0x001781e0
TEST RSI,RSI
JZ 0x0015205b
LEA RDI,[RDI + 0x108]
CALL 0x0026df00
BSWAP EAX
MOV dword ptr [RSP],EAX
MOV EAX,dword ptr [RSP + 0x70]
BSWAP R14D
BSWAP EBP
BSWAP R13D
BSWAP R12D
MOV dword ptr [RSP + 0x4],R14D
BSWAP EAX
MOV dword ptr [RSP + 0x14],EAX
MOV EAX,dword ptr [RSP + 0x78]
MOV dword ptr [RSP + 0x8],EBP
BSWAP EAX
MOV dword ptr [RSP + 0x18],EAX
MOV EAX,dword ptr [RSP + 0x80]
MOV dword ptr [RSP + 0xc],R13D
BSWAP EAX
MOV dword ptr [RSP + 0x1c],EAX
MOV EAX,dword ptr [RSP + 0x88]
MOV dword ptr [RSP + 0x10],R12D
BSWAP EAX
MOV dword ptr [RSP + 0x20],EAX
MOV EAX,dword ptr [RSP + 0x90]
BSWAP EAX
JMP 0x00152001
LEA RDX,[0x36bb18]
MOV ESI,0x881
LEA RDI,[0x36b004]
CALL 0x0017c650
(translation_unit "void FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)\n\n{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)\n\n{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)" identifier (parameter_list "(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "ulong param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) , (parameter_declaration "ulong param_6" type_identifier identifier) , (parameter_declaration "ulong param_7" type_identifier identifier) , (parameter_declaration "uint param_8" type_identifier identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "uint param_10" type_identifier identifier) , (parameter_declaration "uint param_11" type_identifier identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "ulong local_38;" type_identifier identifier ;) (declaration "ulong local_30;" type_identifier identifier ;) (expression_statement "uVar2 = (uint)param_4;" (assignment_expression "uVar2 = (uint)param_4" identifier = (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_64 = param_3;" (assignment_expression "local_64 = param_3" identifier = identifier) ;) (if_statement "if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" if (parenthesized_expression "(*(int *)((long)param_1 + 0xc) == 0x20)" ( (binary_expression "*(int *)((long)param_1 + 0xc) == 0x20" (pointer_expression "*(int *)((long)param_1 + 0xc)" * (cast_expression "(int *)((long)param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc)" ( (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }" { (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (uint)param_5;" (assignment_expression "uVar8 = (uint)param_5" identifier = (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = (uint)param_6;" (assignment_expression "uVar7 = (uint)param_6" identifier = (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 2) == 0)" ( (binary_expression "*(int *)(param_1 + 2) == 0" (pointer_expression "*(int *)(param_1 + 2)" * (cast_expression "(int *)(param_1 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }" { (if_statement "if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" { (expression_statement "local_68 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "local_68 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) })) (expression_statement "local_60 = CONCAT44(uVar8,uVar2);" (assignment_expression "local_60 = CONCAT44(uVar8,uVar2)" identifier = (call_expression "CONCAT44(uVar8,uVar2)" identifier (argument_list "(uVar8,uVar2)" ( identifier , identifier )))) ;) (expression_statement "local_50 = CONCAT44(param_9,param_8);" (assignment_expression "local_50 = CONCAT44(param_9,param_8)" identifier = (call_expression "CONCAT44(param_9,param_8)" identifier (argument_list "(param_9,param_8)" ( identifier , identifier )))) ;) (expression_statement "local_58 = CONCAT44((uint)param_7,uVar7);" (assignment_expression "local_58 = CONCAT44((uint)param_7,uVar7)" identifier = (call_expression "CONCAT44((uint)param_7,uVar7)" identifier (argument_list "((uint)param_7,uVar7)" ( (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ;) }) (else_clause "else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" else (compound_statement "{\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" { (if_statement "if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }" { (expression_statement "uVar3 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "uVar3 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) (expression_statement "local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;" (assignment_expression "local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" identifier = (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | 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 "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;" (assignment_expression "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" identifier = (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8" (binary_expression "param_3 >> 0x18" identifier >> number_literal) | (binary_expression "(param_3 & 0xff0000) >> 8" (parenthesized_expression "(param_3 & 0xff0000)" ( (binary_expression "param_3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff00) << 8" (parenthesized_expression "(param_3 & 0xff00)" ( (binary_expression "param_3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_3 << 0x18" identifier << number_literal))) ;) (expression_statement "local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);" (assignment_expression "local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" identifier = (call_expression "CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" identifier (argument_list "(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" ( (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal)) , (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);" (assignment_expression "local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" identifier = (call_expression "CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" identifier (argument_list "(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" ( (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8" (binary_expression "param_9 >> 0x18" identifier >> number_literal) | (binary_expression "(param_9 & 0xff0000) >> 8" (parenthesized_expression "(param_9 & 0xff0000)" ( (binary_expression "param_9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_9 & 0xff00) << 8" (parenthesized_expression "(param_9 & 0xff00)" ( (binary_expression "param_9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_9 << 0x18" identifier << number_literal)) , (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8" (binary_expression "param_8 >> 0x18" identifier >> number_literal) | (binary_expression "(param_8 & 0xff0000) >> 8" (parenthesized_expression "(param_8 & 0xff0000)" ( (binary_expression "param_8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_8 & 0xff00) << 8" (parenthesized_expression "(param_8 & 0xff00)" ( (binary_expression "param_8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_8 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);" (assignment_expression "local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" identifier = (call_expression "CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" identifier (argument_list "((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" ( (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18" (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8" (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8" (binary_expression "(uint)param_7 >> 0x18" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)param_7 & 0xff0000) >> 8" (parenthesized_expression "((uint)param_7 & 0xff0000)" ( (binary_expression "(uint)param_7 & 0xff0000" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)param_7 & 0xff00) << 8" (parenthesized_expression "((uint)param_7 & 0xff00)" ( (binary_expression "(uint)param_7 & 0xff00" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(uint)param_7 << 0x18" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal)) , (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;" (assignment_expression "param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18" identifier = (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18" (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8" (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8" (binary_expression "param_10 >> 0x18" identifier >> number_literal) | (binary_expression "(param_10 & 0xff0000) >> 8" (parenthesized_expression "(param_10 & 0xff0000)" ( (binary_expression "param_10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_10 & 0xff00) << 8" (parenthesized_expression "(param_10 & 0xff00)" ( (binary_expression "param_10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_10 << 0x18" identifier << number_literal))) ;) (expression_statement "param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;" (assignment_expression "param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18" identifier = (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18" (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8" (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8" (binary_expression "param_11 >> 0x18" identifier >> number_literal) | (binary_expression "(param_11 & 0xff0000) >> 8" (parenthesized_expression "(param_11 & 0xff0000)" ( (binary_expression "param_11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_11 & 0xff00) << 8" (parenthesized_expression "(param_11 & 0xff00)" ( (binary_expression "param_11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_11 << 0x18" identifier << number_literal))) ;) }))) (expression_statement "local_48 = CONCAT44(param_11,param_10);" (assignment_expression "local_48 = CONCAT44(param_11,param_10)" identifier = (call_expression "CONCAT44(param_11,param_10)" identifier (argument_list "(param_11,param_10)" ( identifier , identifier )))) ;) (expression_statement "sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);" (assignment_expression "sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4])" identifier = (call_expression "fwrite(&local_68,1,0x28,(FILE *)param_1[4])" identifier (argument_list "(&local_68,1,0x28,(FILE *)param_1[4])" ( (pointer_expression "&local_68" & identifier) , number_literal , number_literal , (cast_expression "(FILE *)param_1[4]" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) )))) ;) (if_statement "if (sVar5 < 0x28) goto LAB_00152025;" if (parenthesized_expression "(sVar5 < 0x28)" ( (binary_expression "sVar5 < 0x28" identifier < number_literal) )) (goto_statement "goto LAB_00152025;" goto statement_identifier ;)) }) (else_clause "else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" else (compound_statement "{\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" { (if_statement "if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }" if (parenthesized_expression "(*(int *)((long)param_1 + 0xc) != 0x40)" ( (binary_expression "*(int *)((long)param_1 + 0xc) != 0x40" (pointer_expression "*(int *)((long)param_1 + 0xc)" * (cast_expression "(int *)((long)param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc)" ( (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");" (call_expression "FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr")" identifier (argument_list "("../../gold/dwp.cc",0x881,"write_shdr")" ( (string_literal ""../../gold/dwp.cc"" " string_content ") , number_literal , (string_literal ""write_shdr"" " string_content ") ))) ;) })) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 2) == 0)" ( (binary_expression "*(int *)(param_1 + 2) == 0" (pointer_expression "*(int *)(param_1 + 2)" * (cast_expression "(int *)(param_1 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }" { (if_statement "if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" { (expression_statement "local_68 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "local_68 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) })) (expression_statement "local_48 = param_7;" (assignment_expression "local_48 = param_7" identifier = identifier) ;) (expression_statement "local_40 = param_8;" (assignment_expression "local_40 = param_8" identifier = identifier) ;) (expression_statement "local_3c = param_9;" (assignment_expression "local_3c = param_9" identifier = identifier) ;) (expression_statement "local_38 = (ulong)param_10;" (assignment_expression "local_38 = (ulong)param_10" identifier = (cast_expression "(ulong)param_10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_30 = (ulong)param_11;" (assignment_expression "local_30 = (ulong)param_11" identifier = (cast_expression "(ulong)param_11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_60 = param_4 & 0xffffffff;" (assignment_expression "local_60 = param_4 & 0xffffffff" identifier = (binary_expression "param_4 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "local_58 = param_5;" (assignment_expression "local_58 = param_5" identifier = identifier) ;) (expression_statement "local_50 = param_6;" (assignment_expression "local_50 = param_6" identifier = identifier) ;) }) (else_clause "else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" else (compound_statement "{\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" { (if_statement "if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" { (expression_statement "uVar2 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "uVar2 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) (expression_statement "local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" identifier = (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal))) ;) })) (expression_statement "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;" (assignment_expression "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" identifier = (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8" (binary_expression "param_3 >> 0x18" identifier >> number_literal) | (binary_expression "(param_3 & 0xff0000) >> 8" (parenthesized_expression "(param_3 & 0xff0000)" ( (binary_expression "param_3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff00) << 8" (parenthesized_expression "(param_3 & 0xff00)" ( (binary_expression "param_3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_3 << 0x18" identifier << number_literal))) ;) (expression_statement "local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;" (assignment_expression "local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38" identifier = (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28" (binary_expression "param_5 >> 0x38" identifier >> number_literal) | (binary_expression "(param_5 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_5 & 0xff000000000000)" ( (binary_expression "param_5 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_5 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_5 & 0xff0000000000)" ( (binary_expression "param_5 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_5 & 0xff00000000) >> 8" (parenthesized_expression "(param_5 & 0xff00000000)" ( (binary_expression "param_5 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_5 & 0xff000000) << 8" (parenthesized_expression "(param_5 & 0xff000000)" ( (binary_expression "param_5 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_5 & 0xff0000) << 0x18" (parenthesized_expression "(param_5 & 0xff0000)" ( (binary_expression "param_5 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_5 & 0xff00) << 0x28" (parenthesized_expression "(param_5 & 0xff00)" ( (binary_expression "param_5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_5 << 0x38" identifier << number_literal))) ;) (expression_statement "local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;" (assignment_expression "local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38" identifier = (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28" (binary_expression "param_6 >> 0x38" identifier >> number_literal) | (binary_expression "(param_6 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_6 & 0xff000000000000)" ( (binary_expression "param_6 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_6 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_6 & 0xff0000000000)" ( (binary_expression "param_6 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_6 & 0xff00000000) >> 8" (parenthesized_expression "(param_6 & 0xff00000000)" ( (binary_expression "param_6 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_6 & 0xff000000) << 8" (parenthesized_expression "(param_6 & 0xff000000)" ( (binary_expression "param_6 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_6 & 0xff0000) << 0x18" (parenthesized_expression "(param_6 & 0xff0000)" ( (binary_expression "param_6 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_6 & 0xff00) << 0x28" (parenthesized_expression "(param_6 & 0xff00)" ( (binary_expression "param_6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_6 << 0x38" identifier << number_literal))) ;) (expression_statement "local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;" (assignment_expression "local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38" identifier = (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28" (call_expression "(ulong)(param_7._4_4_ >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_7._4_4_ >> 0x18)" ( (binary_expression "param_7._4_4_ >> 0x18" (field_expression "param_7._4_4_" identifier . field_identifier) >> number_literal) ))) | (binary_expression "(((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff0000) << 0x20)" ( (binary_expression "((ulong)param_7._4_4_ & 0xff0000) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff0000)" ( (binary_expression "(ulong)param_7._4_4_ & 0xff0000" (cast_expression "(ulong)param_7._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "param_7._4_4_" identifier . field_identifier)) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff00) << 0x20)" ( (binary_expression "((ulong)param_7._4_4_ & 0xff00) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff00)" ( (binary_expression "(ulong)param_7._4_4_ & 0xff00" (cast_expression "(ulong)param_7._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "param_7._4_4_" identifier . field_identifier)) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff) << 0x20)" ( (binary_expression "((ulong)param_7._4_4_ & 0xff) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff)" ( (binary_expression "(ulong)param_7._4_4_ & 0xff" (cast_expression "(ulong)param_7._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "param_7._4_4_" identifier . field_identifier)) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(param_7 & 0xff000000) << 8" (parenthesized_expression "(param_7 & 0xff000000)" ( (binary_expression "param_7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_7 & 0xff0000) << 0x18" (parenthesized_expression "(param_7 & 0xff0000)" ( (binary_expression "param_7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_7 & 0xff00) << 0x28" (parenthesized_expression "(param_7 & 0xff00)" ( (binary_expression "param_7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_7 << 0x38" identifier << number_literal))) ;) (expression_statement "local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;" (assignment_expression "local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18" identifier = (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8" (binary_expression "param_8 >> 0x18" identifier >> number_literal) | (binary_expression "(param_8 & 0xff0000) >> 8" (parenthesized_expression "(param_8 & 0xff0000)" ( (binary_expression "param_8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_8 & 0xff00) << 8" (parenthesized_expression "(param_8 & 0xff00)" ( (binary_expression "param_8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_8 << 0x18" identifier << number_literal))) ;) (expression_statement "local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;" (assignment_expression "local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18" identifier = (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8" (binary_expression "param_9 >> 0x18" identifier >> number_literal) | (binary_expression "(param_9 & 0xff0000) >> 8" (parenthesized_expression "(param_9 & 0xff0000)" ( (binary_expression "param_9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_9 & 0xff00) << 8" (parenthesized_expression "(param_9 & 0xff00)" ( (binary_expression "param_9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_9 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar4 = (ulong)param_10;" (assignment_expression "uVar4 = (ulong)param_10" identifier = (cast_expression "(ulong)param_10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;" (assignment_expression "local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" identifier = (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18" (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar4 = (ulong)param_11;" (assignment_expression "uVar4 = (ulong)param_11" identifier = (cast_expression "(ulong)param_11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;" (assignment_expression "local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" identifier = (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18" (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal))) ;) (expression_statement "local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;" (assignment_expression "local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38" identifier = (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38" (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28" (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18" (binary_expression "(param_4 & 0xff000000) << 8" (parenthesized_expression "(param_4 & 0xff000000)" ( (binary_expression "param_4 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(param_4 & 0xff0000) << 0x18" (parenthesized_expression "(param_4 & 0xff0000)" ( (binary_expression "param_4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_4 & 0xff00) << 0x28" (parenthesized_expression "(param_4 & 0xff00)" ( (binary_expression "param_4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_4 & 0xffffffff) << 0x38" (parenthesized_expression "(param_4 & 0xffffffff)" ( (binary_expression "param_4 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) }))) (expression_statement "sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);" (assignment_expression "sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4])" identifier = (call_expression "fwrite(&local_68,1,0x40,(FILE *)param_1[4])" identifier (argument_list "(&local_68,1,0x40,(FILE *)param_1[4])" ( (pointer_expression "&local_68" & identifier) , number_literal , number_literal , (cast_expression "(FILE *)param_1[4]" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) )))) ;) (if_statement "if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }" if (parenthesized_expression "(sVar5 < 0x40)" ( (binary_expression "sVar5 < 0x40" identifier < number_literal) )) (compound_statement "{\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      FUN_001781e0(uVar6,uVar1);\n    }" { (labeled_statement "LAB_00152025:\n      uVar1 = *param_1;" statement_identifier : (expression_statement "uVar1 = *param_1;" (assignment_expression "uVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (expression_statement "uVar6 = gettext("%s: error writing section header table");" (assignment_expression "uVar6 = gettext("%s: error writing section header table")" identifier = (call_expression "gettext("%s: error writing section header table")" identifier (argument_list "("%s: error writing section header table")" ( (string_literal ""%s: error writing section header table"" " string_content ") )))) ;) comment (expression_statement "FUN_001781e0(uVar6,uVar1);" (call_expression "FUN_001781e0(uVar6,uVar1)" identifier (argument_list "(uVar6,uVar1)" ( identifier , identifier ))) ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit "/* DWARF original prototype: void write_shdr(Dwp_output_file * this, char * name, uint type, uint\n   flags, uint64_t addr, off_t offset, section_size_type sect_size, uint link, uint info, uint\n   align, uint ent_size) */\n\nvoid __thiscall\ngold::Dwp_output_file::write_shdr\n          (Dwp_output_file *this,char *name,uint type,uint flags,uint64_t addr,off_t offset,\n          section_size_type sect_size,uint link,uint info,uint align,uint ent_size)\n\n{\n  char *pcVar1;\n  uint uVar2;\n  uint uVar3;\n  section_offset_type sVar4;\n  ulong uVar5;\n  size_t sVar6;\n  char *format;\n  uint uVar7;\n  ulong uVar8;\n  uint uVar9;\n  uint uVar10;\n  uchar buf [64];\n  \n  uVar8 = (ulong)flags;\n  buf._4_4_ = type;\n  if (this->size_ == 0x20) {\n    buf._0_4_ = 0;\n    uVar3 = (uint)addr;\n    uVar2 = (uint)offset;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf[0xc] = (char)uVar3;\n      buf[0xd] = (char)(uVar3 >> 8);\n      buf[0xe] = (char)(uVar3 >> 0x10);\n      buf[0xf] = (char)(uVar3 >> 0x18);\n      buf._8_4_ = flags;\n      buf._28_4_ = info;\n      buf._24_4_ = link;\n      buf._20_4_ = (uint)sect_size;\n      buf._16_4_ = uVar2;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }\n    buf[0x24] = (char)ent_size;\n    buf[0x25] = (char)(ent_size >> 8);\n    buf[0x26] = (char)(ent_size >> 0x10);\n    buf[0x27] = (char)(ent_size >> 0x18);\n    buf[0x20] = (char)align;\n    buf[0x21] = (char)(align >> 8);\n    buf[0x22] = (char)(align >> 0x10);\n    buf[0x23] = (char)(align >> 0x18);\n    sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_);\n    if (sVar6 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (this->size_ != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    buf._0_4_ = 0;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }\n    sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);\n    if (sVar6 < 0x40) {\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void __thiscall\ngold::Dwp_output_file::write_shdr\n          (Dwp_output_file *this,char *name,uint type,uint flags,uint64_t addr,off_t offset,\n          section_size_type sect_size,uint link,uint info,uint align,uint ent_size)\n\n{\n  char *pcVar1;\n  uint uVar2;\n  uint uVar3;\n  section_offset_type sVar4;\n  ulong uVar5;\n  size_t sVar6;\n  char *format;\n  uint uVar7;\n  ulong uVar8;\n  uint uVar9;\n  uint uVar10;\n  uchar buf [64];\n  \n  uVar8 = (ulong)flags;\n  buf._4_4_ = type;\n  if (this->size_ == 0x20) {\n    buf._0_4_ = 0;\n    uVar3 = (uint)addr;\n    uVar2 = (uint)offset;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf[0xc] = (char)uVar3;\n      buf[0xd] = (char)(uVar3 >> 8);\n      buf[0xe] = (char)(uVar3 >> 0x10);\n      buf[0xf] = (char)(uVar3 >> 0x18);\n      buf._8_4_ = flags;\n      buf._28_4_ = info;\n      buf._24_4_ = link;\n      buf._20_4_ = (uint)sect_size;\n      buf._16_4_ = uVar2;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }\n    buf[0x24] = (char)ent_size;\n    buf[0x25] = (char)(ent_size >> 8);\n    buf[0x26] = (char)(ent_size >> 0x10);\n    buf[0x27] = (char)(ent_size >> 0x18);\n    buf[0x20] = (char)align;\n    buf[0x21] = (char)(align >> 8);\n    buf[0x22] = (char)(align >> 0x10);\n    buf[0x23] = (char)(align >> 0x18);\n    sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_);\n    if (sVar6 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (this->size_ != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    buf._0_4_ = 0;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }\n    sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);\n    if (sVar6 < 0x40) {\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }\n  }\n  return;\n}" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Dwp_output_file::" identifier : : identifier : :) (function_declarator "write_shdr\n          (Dwp_output_file *this,char *name,uint type,uint flags,uint64_t addr,off_t offset,\n          section_size_type sect_size,uint link,uint info,uint align,uint ent_size)" identifier (parameter_list "(Dwp_output_file *this,char *name,uint type,uint flags,uint64_t addr,off_t offset,\n          section_size_type sect_size,uint link,uint info,uint align,uint ent_size)" ( (parameter_declaration "Dwp_output_file *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "char *name" primitive_type (pointer_declarator "*name" * identifier)) , (parameter_declaration "uint type" type_identifier identifier) , (parameter_declaration "uint flags" type_identifier identifier) , (parameter_declaration "uint64_t addr" primitive_type identifier) , (parameter_declaration "off_t offset" type_identifier identifier) , (parameter_declaration "section_size_type sect_size" type_identifier identifier) , (parameter_declaration "uint link" type_identifier identifier) , (parameter_declaration "uint info" type_identifier identifier) , (parameter_declaration "uint align" type_identifier identifier) , (parameter_declaration "uint ent_size" type_identifier identifier) ))) (compound_statement "{\n  char *pcVar1;\n  uint uVar2;\n  uint uVar3;\n  section_offset_type sVar4;\n  ulong uVar5;\n  size_t sVar6;\n  char *format;\n  uint uVar7;\n  ulong uVar8;\n  uint uVar9;\n  uint uVar10;\n  uchar buf [64];\n  \n  uVar8 = (ulong)flags;\n  buf._4_4_ = type;\n  if (this->size_ == 0x20) {\n    buf._0_4_ = 0;\n    uVar3 = (uint)addr;\n    uVar2 = (uint)offset;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf[0xc] = (char)uVar3;\n      buf[0xd] = (char)(uVar3 >> 8);\n      buf[0xe] = (char)(uVar3 >> 0x10);\n      buf[0xf] = (char)(uVar3 >> 0x18);\n      buf._8_4_ = flags;\n      buf._28_4_ = info;\n      buf._24_4_ = link;\n      buf._20_4_ = (uint)sect_size;\n      buf._16_4_ = uVar2;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }\n    buf[0x24] = (char)ent_size;\n    buf[0x25] = (char)(ent_size >> 8);\n    buf[0x26] = (char)(ent_size >> 0x10);\n    buf[0x27] = (char)(ent_size >> 0x18);\n    buf[0x20] = (char)align;\n    buf[0x21] = (char)(align >> 8);\n    buf[0x22] = (char)(align >> 0x10);\n    buf[0x23] = (char)(align >> 0x18);\n    sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_);\n    if (sVar6 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (this->size_ != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    buf._0_4_ = 0;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }\n    sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);\n    if (sVar6 < 0x40) {\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }\n  }\n  return;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "section_offset_type sVar4;" type_identifier identifier ;) (declaration "ulong uVar5;" type_identifier identifier ;) (declaration "size_t sVar6;" primitive_type identifier ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "ulong uVar8;" type_identifier identifier ;) (declaration "uint uVar9;" type_identifier identifier ;) (declaration "uint uVar10;" type_identifier identifier ;) (declaration "uchar buf [64];" type_identifier (array_declarator "buf [64]" identifier [ number_literal ]) ;) (expression_statement "uVar8 = (ulong)flags;" (assignment_expression "uVar8 = (ulong)flags" identifier = (cast_expression "(ulong)flags" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "buf._4_4_ = type;" (assignment_expression "buf._4_4_ = type" (field_expression "buf._4_4_" identifier . field_identifier) = identifier) ;) (if_statement "if (this->size_ == 0x20) {\n    buf._0_4_ = 0;\n    uVar3 = (uint)addr;\n    uVar2 = (uint)offset;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf[0xc] = (char)uVar3;\n      buf[0xd] = (char)(uVar3 >> 8);\n      buf[0xe] = (char)(uVar3 >> 0x10);\n      buf[0xf] = (char)(uVar3 >> 0x18);\n      buf._8_4_ = flags;\n      buf._28_4_ = info;\n      buf._24_4_ = link;\n      buf._20_4_ = (uint)sect_size;\n      buf._16_4_ = uVar2;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }\n    buf[0x24] = (char)ent_size;\n    buf[0x25] = (char)(ent_size >> 8);\n    buf[0x26] = (char)(ent_size >> 0x10);\n    buf[0x27] = (char)(ent_size >> 0x18);\n    buf[0x20] = (char)align;\n    buf[0x21] = (char)(align >> 8);\n    buf[0x22] = (char)(align >> 0x10);\n    buf[0x23] = (char)(align >> 0x18);\n    sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_);\n    if (sVar6 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (this->size_ != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    buf._0_4_ = 0;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }\n    sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);\n    if (sVar6 < 0x40) {\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }\n  }" if (parenthesized_expression "(this->size_ == 0x20)" ( (binary_expression "this->size_ == 0x20" (field_expression "this->size_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n    buf._0_4_ = 0;\n    uVar3 = (uint)addr;\n    uVar2 = (uint)offset;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf[0xc] = (char)uVar3;\n      buf[0xd] = (char)(uVar3 >> 8);\n      buf[0xe] = (char)(uVar3 >> 0x10);\n      buf[0xf] = (char)(uVar3 >> 0x18);\n      buf._8_4_ = flags;\n      buf._28_4_ = info;\n      buf._24_4_ = link;\n      buf._20_4_ = (uint)sect_size;\n      buf._16_4_ = uVar2;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }\n    buf[0x24] = (char)ent_size;\n    buf[0x25] = (char)(ent_size >> 8);\n    buf[0x26] = (char)(ent_size >> 0x10);\n    buf[0x27] = (char)(ent_size >> 0x18);\n    buf[0x20] = (char)align;\n    buf[0x21] = (char)(align >> 8);\n    buf[0x22] = (char)(align >> 0x10);\n    buf[0x23] = (char)(align >> 0x18);\n    sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_);\n    if (sVar6 < 0x28) goto LAB_00152025;\n  }" { (expression_statement "buf._0_4_ = 0;" (assignment_expression "buf._0_4_ = 0" (field_expression "buf._0_4_" identifier . field_identifier) = number_literal) ;) (expression_statement "uVar3 = (uint)addr;" (assignment_expression "uVar3 = (uint)addr" identifier = (cast_expression "(uint)addr" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar2 = (uint)offset;" (assignment_expression "uVar2 = (uint)offset" identifier = (cast_expression "(uint)offset" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf[0xc] = (char)uVar3;\n      buf[0xd] = (char)(uVar3 >> 8);\n      buf[0xe] = (char)(uVar3 >> 0x10);\n      buf[0xf] = (char)(uVar3 >> 0x18);\n      buf._8_4_ = flags;\n      buf._28_4_ = info;\n      buf._24_4_ = link;\n      buf._20_4_ = (uint)sect_size;\n      buf._16_4_ = uVar2;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }" if (parenthesized_expression "(this->big_endian_ == 0)" ( (binary_expression "this->big_endian_ == 0" (field_expression "this->big_endian_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf[0xc] = (char)uVar3;\n      buf[0xd] = (char)(uVar3 >> 8);\n      buf[0xe] = (char)(uVar3 >> 0x10);\n      buf[0xf] = (char)(uVar3 >> 0x18);\n      buf._8_4_ = flags;\n      buf._28_4_ = info;\n      buf._24_4_ = link;\n      buf._20_4_ = (uint)sect_size;\n      buf._16_4_ = uVar2;\n    }" { (if_statement "if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }" if (parenthesized_expression "(name != (char *)0x0)" ( (binary_expression "name != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }" { (expression_statement "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);" (assignment_expression "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name)" identifier = (binary_expression "Stringpool_template<char>::get_offset(&this->shstrtab_,name)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "get_offset(&this->shstrtab_,name)" identifier (argument_list "(&this->shstrtab_,name)" ( (pointer_expression "&this->shstrtab_" & (field_expression "this->shstrtab_" identifier -> field_identifier)) , identifier ))))) ;) (expression_statement "buf._0_4_ = (undefined4)sVar4;" (assignment_expression "buf._0_4_ = (undefined4)sVar4" (field_expression "buf._0_4_" identifier . field_identifier) = (cast_expression "(undefined4)sVar4" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) })) (expression_statement "buf[0xc] = (char)uVar3;" (assignment_expression "buf[0xc] = (char)uVar3" (subscript_expression "buf[0xc]" identifier [ number_literal ]) = (cast_expression "(char)uVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0xd] = (char)(uVar3 >> 8);" (assignment_expression "buf[0xd] = (char)(uVar3 >> 8)" (subscript_expression "buf[0xd]" identifier [ number_literal ]) = (cast_expression "(char)(uVar3 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 8)" ( (binary_expression "uVar3 >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0xe] = (char)(uVar3 >> 0x10);" (assignment_expression "buf[0xe] = (char)(uVar3 >> 0x10)" (subscript_expression "buf[0xe]" identifier [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0xf] = (char)(uVar3 >> 0x18);" (assignment_expression "buf[0xf] = (char)(uVar3 >> 0x18)" (subscript_expression "buf[0xf]" identifier [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "buf._8_4_ = flags;" (assignment_expression "buf._8_4_ = flags" (field_expression "buf._8_4_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._28_4_ = info;" (assignment_expression "buf._28_4_ = info" (field_expression "buf._28_4_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._24_4_ = link;" (assignment_expression "buf._24_4_ = link" (field_expression "buf._24_4_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._20_4_ = (uint)sect_size;" (assignment_expression "buf._20_4_ = (uint)sect_size" (field_expression "buf._20_4_" identifier . field_identifier) = (cast_expression "(uint)sect_size" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "buf._16_4_ = uVar2;" (assignment_expression "buf._16_4_ = uVar2" (field_expression "buf._16_4_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }" else (compound_statement "{\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;\n      uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;\n      uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf[0xc] = (char)uVar10;\n      buf[0xd] = (char)(uVar10 >> 8);\n      buf[0xe] = (char)(uVar10 >> 0x10);\n      buf[0xf] = (char)(uVar10 >> 0x18);\n      buf[8] = (char)uVar7;\n      buf[9] = (char)(uVar7 >> 8);\n      buf[10] = (char)(uVar7 >> 0x10);\n      buf[0xb] = (char)(uVar7 >> 0x18);\n      uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      buf[0x1c] = (char)uVar7;\n      buf[0x1d] = (char)(uVar7 >> 8);\n      buf[0x1e] = (char)(uVar7 >> 0x10);\n      buf[0x1f] = (char)(uVar7 >> 0x18);\n      buf[0x18] = (char)uVar3;\n      buf[0x19] = (char)(uVar3 >> 8);\n      buf[0x1a] = (char)(uVar3 >> 0x10);\n      buf[0x1b] = (char)(uVar3 >> 0x18);\n      buf[0x14] = (char)uVar2;\n      buf[0x15] = (char)(uVar2 >> 8);\n      buf[0x16] = (char)(uVar2 >> 0x10);\n      buf[0x17] = (char)(uVar2 >> 0x18);\n      buf[0x10] = (char)uVar9;\n      buf[0x11] = (char)(uVar9 >> 8);\n      buf[0x12] = (char)(uVar9 >> 0x10);\n      buf[0x13] = (char)(uVar9 >> 0x18);\n      align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;\n      ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;\n    }" { (if_statement "if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }" if (parenthesized_expression "(name != (char *)0x0)" ( (binary_expression "name != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar7 = (uint)sVar4;\n        buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;\n      }" { (expression_statement "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);" (assignment_expression "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name)" identifier = (binary_expression "Stringpool_template<char>::get_offset(&this->shstrtab_,name)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "get_offset(&this->shstrtab_,name)" identifier (argument_list "(&this->shstrtab_,name)" ( (pointer_expression "&this->shstrtab_" & (field_expression "this->shstrtab_" identifier -> field_identifier)) , identifier ))))) ;) (expression_statement "uVar7 = (uint)sVar4;" (assignment_expression "uVar7 = (uint)sVar4" identifier = (cast_expression "(uint)sVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18;" (assignment_expression "buf._0_4_ = uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (field_expression "buf._0_4_" identifier . field_identifier) = (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 | uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal))) ;) })) (expression_statement "buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;" (assignment_expression "buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18" (field_expression "buf._4_4_" identifier . field_identifier) = (binary_expression "type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18" (binary_expression "type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8" (binary_expression "type >> 0x18 | (type & 0xff0000) >> 8" (binary_expression "type >> 0x18" identifier >> number_literal) | (binary_expression "(type & 0xff0000) >> 8" (parenthesized_expression "(type & 0xff0000)" ( (binary_expression "type & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(type & 0xff00) << 8" (parenthesized_expression "(type & 0xff00)" ( (binary_expression "type & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "type << 0x18" identifier << number_literal))) ;) (expression_statement "uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18;" (assignment_expression "uVar7 = flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18" identifier = (binary_expression "flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8 | flags << 0x18" (binary_expression "flags >> 0x18 | (flags & 0xff0000) >> 8 | (flags & 0xff00) << 8" (binary_expression "flags >> 0x18 | (flags & 0xff0000) >> 8" (binary_expression "flags >> 0x18" identifier >> number_literal) | (binary_expression "(flags & 0xff0000) >> 8" (parenthesized_expression "(flags & 0xff0000)" ( (binary_expression "flags & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(flags & 0xff00) << 8" (parenthesized_expression "(flags & 0xff00)" ( (binary_expression "flags & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "flags << 0x18" identifier << number_literal))) ;) (expression_statement "uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;" (assignment_expression "uVar10 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" identifier = (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | 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 "uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "uVar9 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" identifier = (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18;" (assignment_expression "uVar2 = (uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18" identifier = (binary_expression "(uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8 | (uint)sect_size << 0x18" (binary_expression "(uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8 |\n              ((uint)sect_size & 0xff00) << 8" (binary_expression "(uint)sect_size >> 0x18 | ((uint)sect_size & 0xff0000) >> 8" (binary_expression "(uint)sect_size >> 0x18" (cast_expression "(uint)sect_size" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)sect_size & 0xff0000) >> 8" (parenthesized_expression "((uint)sect_size & 0xff0000)" ( (binary_expression "(uint)sect_size & 0xff0000" (cast_expression "(uint)sect_size" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)sect_size & 0xff00) << 8" (parenthesized_expression "((uint)sect_size & 0xff00)" ( (binary_expression "(uint)sect_size & 0xff00" (cast_expression "(uint)sect_size" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(uint)sect_size << 0x18" (cast_expression "(uint)sect_size" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal))) ;) (expression_statement "uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;" (assignment_expression "uVar3 = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18" identifier = (binary_expression "link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18" (binary_expression "link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8" (binary_expression "link >> 0x18 | (link & 0xff0000) >> 8" (binary_expression "link >> 0x18" identifier >> number_literal) | (binary_expression "(link & 0xff0000) >> 8" (parenthesized_expression "(link & 0xff0000)" ( (binary_expression "link & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(link & 0xff00) << 8" (parenthesized_expression "(link & 0xff00)" ( (binary_expression "link & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "link << 0x18" identifier << number_literal))) ;) (expression_statement "buf[0xc] = (char)uVar10;" (assignment_expression "buf[0xc] = (char)uVar10" (subscript_expression "buf[0xc]" identifier [ number_literal ]) = (cast_expression "(char)uVar10" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0xd] = (char)(uVar10 >> 8);" (assignment_expression "buf[0xd] = (char)(uVar10 >> 8)" (subscript_expression "buf[0xd]" identifier [ number_literal ]) = (cast_expression "(char)(uVar10 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar10 >> 8)" ( (binary_expression "uVar10 >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0xe] = (char)(uVar10 >> 0x10);" (assignment_expression "buf[0xe] = (char)(uVar10 >> 0x10)" (subscript_expression "buf[0xe]" identifier [ number_literal ]) = (cast_expression "(char)(uVar10 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar10 >> 0x10)" ( (binary_expression "uVar10 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0xf] = (char)(uVar10 >> 0x18);" (assignment_expression "buf[0xf] = (char)(uVar10 >> 0x18)" (subscript_expression "buf[0xf]" identifier [ number_literal ]) = (cast_expression "(char)(uVar10 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar10 >> 0x18)" ( (binary_expression "uVar10 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "buf[8] = (char)uVar7;" (assignment_expression "buf[8] = (char)uVar7" (subscript_expression "buf[8]" identifier [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[9] = (char)(uVar7 >> 8);" (assignment_expression "buf[9] = (char)(uVar7 >> 8)" (subscript_expression "buf[9]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[10] = (char)(uVar7 >> 0x10);" (assignment_expression "buf[10] = (char)(uVar7 >> 0x10)" (subscript_expression "buf[10]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0xb] = (char)(uVar7 >> 0x18);" (assignment_expression "buf[0xb] = (char)(uVar7 >> 0x18)" (subscript_expression "buf[0xb]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;" (assignment_expression "uVar7 = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18" identifier = (binary_expression "info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18" (binary_expression "info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8" (binary_expression "info >> 0x18 | (info & 0xff0000) >> 8" (binary_expression "info >> 0x18" identifier >> number_literal) | (binary_expression "(info & 0xff0000) >> 8" (parenthesized_expression "(info & 0xff0000)" ( (binary_expression "info & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(info & 0xff00) << 8" (parenthesized_expression "(info & 0xff00)" ( (binary_expression "info & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "info << 0x18" identifier << number_literal))) ;) (expression_statement "buf[0x1c] = (char)uVar7;" (assignment_expression "buf[0x1c] = (char)uVar7" (subscript_expression "buf[0x1c]" identifier [ number_literal ]) = (cast_expression "(char)uVar7" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0x1d] = (char)(uVar7 >> 8);" (assignment_expression "buf[0x1d] = (char)(uVar7 >> 8)" (subscript_expression "buf[0x1d]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 8)" ( (binary_expression "uVar7 >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0x1e] = (char)(uVar7 >> 0x10);" (assignment_expression "buf[0x1e] = (char)(uVar7 >> 0x10)" (subscript_expression "buf[0x1e]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x10)" ( (binary_expression "uVar7 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0x1f] = (char)(uVar7 >> 0x18);" (assignment_expression "buf[0x1f] = (char)(uVar7 >> 0x18)" (subscript_expression "buf[0x1f]" identifier [ number_literal ]) = (cast_expression "(char)(uVar7 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar7 >> 0x18)" ( (binary_expression "uVar7 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "buf[0x18] = (char)uVar3;" (assignment_expression "buf[0x18] = (char)uVar3" (subscript_expression "buf[0x18]" identifier [ number_literal ]) = (cast_expression "(char)uVar3" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0x19] = (char)(uVar3 >> 8);" (assignment_expression "buf[0x19] = (char)(uVar3 >> 8)" (subscript_expression "buf[0x19]" identifier [ number_literal ]) = (cast_expression "(char)(uVar3 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 8)" ( (binary_expression "uVar3 >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0x1a] = (char)(uVar3 >> 0x10);" (assignment_expression "buf[0x1a] = (char)(uVar3 >> 0x10)" (subscript_expression "buf[0x1a]" identifier [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x10)" ( (binary_expression "uVar3 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0x1b] = (char)(uVar3 >> 0x18);" (assignment_expression "buf[0x1b] = (char)(uVar3 >> 0x18)" (subscript_expression "buf[0x1b]" identifier [ number_literal ]) = (cast_expression "(char)(uVar3 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x18)" ( (binary_expression "uVar3 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "buf[0x14] = (char)uVar2;" (assignment_expression "buf[0x14] = (char)uVar2" (subscript_expression "buf[0x14]" identifier [ number_literal ]) = (cast_expression "(char)uVar2" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0x15] = (char)(uVar2 >> 8);" (assignment_expression "buf[0x15] = (char)(uVar2 >> 8)" (subscript_expression "buf[0x15]" identifier [ number_literal ]) = (cast_expression "(char)(uVar2 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 8)" ( (binary_expression "uVar2 >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0x16] = (char)(uVar2 >> 0x10);" (assignment_expression "buf[0x16] = (char)(uVar2 >> 0x10)" (subscript_expression "buf[0x16]" identifier [ number_literal ]) = (cast_expression "(char)(uVar2 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 0x10)" ( (binary_expression "uVar2 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0x17] = (char)(uVar2 >> 0x18);" (assignment_expression "buf[0x17] = (char)(uVar2 >> 0x18)" (subscript_expression "buf[0x17]" identifier [ number_literal ]) = (cast_expression "(char)(uVar2 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar2 >> 0x18)" ( (binary_expression "uVar2 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "buf[0x10] = (char)uVar9;" (assignment_expression "buf[0x10] = (char)uVar9" (subscript_expression "buf[0x10]" identifier [ number_literal ]) = (cast_expression "(char)uVar9" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0x11] = (char)(uVar9 >> 8);" (assignment_expression "buf[0x11] = (char)(uVar9 >> 8)" (subscript_expression "buf[0x11]" identifier [ number_literal ]) = (cast_expression "(char)(uVar9 >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar9 >> 8)" ( (binary_expression "uVar9 >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0x12] = (char)(uVar9 >> 0x10);" (assignment_expression "buf[0x12] = (char)(uVar9 >> 0x10)" (subscript_expression "buf[0x12]" identifier [ number_literal ]) = (cast_expression "(char)(uVar9 >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar9 >> 0x10)" ( (binary_expression "uVar9 >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0x13] = (char)(uVar9 >> 0x18);" (assignment_expression "buf[0x13] = (char)(uVar9 >> 0x18)" (subscript_expression "buf[0x13]" identifier [ number_literal ]) = (cast_expression "(char)(uVar9 >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(uVar9 >> 0x18)" ( (binary_expression "uVar9 >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18;" (assignment_expression "align = align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18" identifier = (binary_expression "align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8 | align << 0x18" (binary_expression "align >> 0x18 | (align & 0xff0000) >> 8 | (align & 0xff00) << 8" (binary_expression "align >> 0x18 | (align & 0xff0000) >> 8" (binary_expression "align >> 0x18" identifier >> number_literal) | (binary_expression "(align & 0xff0000) >> 8" (parenthesized_expression "(align & 0xff0000)" ( (binary_expression "align & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(align & 0xff00) << 8" (parenthesized_expression "(align & 0xff00)" ( (binary_expression "align & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "align << 0x18" identifier << number_literal))) ;) (expression_statement "ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18;" (assignment_expression "ent_size = ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18" identifier = (binary_expression "ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8 |\n                 ent_size << 0x18" (binary_expression "ent_size >> 0x18 | (ent_size & 0xff0000) >> 8 | (ent_size & 0xff00) << 8" (binary_expression "ent_size >> 0x18 | (ent_size & 0xff0000) >> 8" (binary_expression "ent_size >> 0x18" identifier >> number_literal) | (binary_expression "(ent_size & 0xff0000) >> 8" (parenthesized_expression "(ent_size & 0xff0000)" ( (binary_expression "ent_size & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(ent_size & 0xff00) << 8" (parenthesized_expression "(ent_size & 0xff00)" ( (binary_expression "ent_size & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "ent_size << 0x18" identifier << number_literal))) ;) }))) (expression_statement "buf[0x24] = (char)ent_size;" (assignment_expression "buf[0x24] = (char)ent_size" (subscript_expression "buf[0x24]" identifier [ number_literal ]) = (cast_expression "(char)ent_size" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0x25] = (char)(ent_size >> 8);" (assignment_expression "buf[0x25] = (char)(ent_size >> 8)" (subscript_expression "buf[0x25]" identifier [ number_literal ]) = (cast_expression "(char)(ent_size >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(ent_size >> 8)" ( (binary_expression "ent_size >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0x26] = (char)(ent_size >> 0x10);" (assignment_expression "buf[0x26] = (char)(ent_size >> 0x10)" (subscript_expression "buf[0x26]" identifier [ number_literal ]) = (cast_expression "(char)(ent_size >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(ent_size >> 0x10)" ( (binary_expression "ent_size >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0x27] = (char)(ent_size >> 0x18);" (assignment_expression "buf[0x27] = (char)(ent_size >> 0x18)" (subscript_expression "buf[0x27]" identifier [ number_literal ]) = (cast_expression "(char)(ent_size >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(ent_size >> 0x18)" ( (binary_expression "ent_size >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "buf[0x20] = (char)align;" (assignment_expression "buf[0x20] = (char)align" (subscript_expression "buf[0x20]" identifier [ number_literal ]) = (cast_expression "(char)align" ( (type_descriptor "char" primitive_type) ) identifier)) ;) (expression_statement "buf[0x21] = (char)(align >> 8);" (assignment_expression "buf[0x21] = (char)(align >> 8)" (subscript_expression "buf[0x21]" identifier [ number_literal ]) = (cast_expression "(char)(align >> 8)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(align >> 8)" ( (binary_expression "align >> 8" identifier >> number_literal) )))) ;) (expression_statement "buf[0x22] = (char)(align >> 0x10);" (assignment_expression "buf[0x22] = (char)(align >> 0x10)" (subscript_expression "buf[0x22]" identifier [ number_literal ]) = (cast_expression "(char)(align >> 0x10)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(align >> 0x10)" ( (binary_expression "align >> 0x10" identifier >> number_literal) )))) ;) (expression_statement "buf[0x23] = (char)(align >> 0x18);" (assignment_expression "buf[0x23] = (char)(align >> 0x18)" (subscript_expression "buf[0x23]" identifier [ number_literal ]) = (cast_expression "(char)(align >> 0x18)" ( (type_descriptor "char" primitive_type) ) (parenthesized_expression "(align >> 0x18)" ( (binary_expression "align >> 0x18" identifier >> number_literal) )))) ;) (expression_statement "sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_);" (assignment_expression "sVar6 = fwrite(buf,1,0x28,(FILE *)this->fd_)" identifier = (call_expression "fwrite(buf,1,0x28,(FILE *)this->fd_)" identifier (argument_list "(buf,1,0x28,(FILE *)this->fd_)" ( identifier , number_literal , number_literal , (cast_expression "(FILE *)this->fd_" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this->fd_" identifier -> field_identifier)) )))) ;) (if_statement "if (sVar6 < 0x28) goto LAB_00152025;" if (parenthesized_expression "(sVar6 < 0x28)" ( (binary_expression "sVar6 < 0x28" identifier < number_literal) )) (goto_statement "goto LAB_00152025;" goto statement_identifier ;)) }) (else_clause "else {\n    if (this->size_ != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    buf._0_4_ = 0;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }\n    sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);\n    if (sVar6 < 0x40) {\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }\n  }" else (compound_statement "{\n    if (this->size_ != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    buf._0_4_ = 0;\n    if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }\n    sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);\n    if (sVar6 < 0x40) {\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }\n  }" { (if_statement "if (this->size_ != 0x40) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }" if (parenthesized_expression "(this->size_ != 0x40)" ( (binary_expression "this->size_ != 0x40" (field_expression "this->size_" identifier -> field_identifier) != number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr");" (call_expression "do_gold_unreachable("../../gold/dwp.cc",0x881,"write_shdr")" identifier (argument_list "("../../gold/dwp.cc",0x881,"write_shdr")" ( (string_literal ""../../gold/dwp.cc"" " string_content ") , number_literal , (string_literal ""write_shdr"" " string_content ") ))) ;) })) (expression_statement "buf._0_4_ = 0;" (assignment_expression "buf._0_4_ = 0" (field_expression "buf._0_4_" identifier . field_identifier) = number_literal) ;) (if_statement "if (this->big_endian_ == 0) {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }\n    else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }" if (parenthesized_expression "(this->big_endian_ == 0)" ( (binary_expression "this->big_endian_ == 0" (field_expression "this->big_endian_" identifier -> field_identifier) == number_literal) )) (compound_statement "{\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }\n      buf._32_8_ = sect_size;\n      buf._40_4_ = link;\n      buf._44_4_ = info;\n      buf._48_8_ = ZEXT48(align);\n      buf._56_8_ = ZEXT48(ent_size);\n      buf._8_8_ = uVar8;\n      buf._16_8_ = addr;\n      buf._24_8_ = offset;\n    }" { (if_statement "if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }" if (parenthesized_expression "(name != (char *)0x0)" ( (binary_expression "name != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        buf._0_4_ = (undefined4)sVar4;\n      }" { (expression_statement "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);" (assignment_expression "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name)" identifier = (binary_expression "Stringpool_template<char>::get_offset(&this->shstrtab_,name)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "get_offset(&this->shstrtab_,name)" identifier (argument_list "(&this->shstrtab_,name)" ( (pointer_expression "&this->shstrtab_" & (field_expression "this->shstrtab_" identifier -> field_identifier)) , identifier ))))) ;) (expression_statement "buf._0_4_ = (undefined4)sVar4;" (assignment_expression "buf._0_4_ = (undefined4)sVar4" (field_expression "buf._0_4_" identifier . field_identifier) = (cast_expression "(undefined4)sVar4" ( (type_descriptor "undefined4" type_identifier) ) identifier)) ;) })) (expression_statement "buf._32_8_ = sect_size;" (assignment_expression "buf._32_8_ = sect_size" (field_expression "buf._32_8_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._40_4_ = link;" (assignment_expression "buf._40_4_ = link" (field_expression "buf._40_4_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._44_4_ = info;" (assignment_expression "buf._44_4_ = info" (field_expression "buf._44_4_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._48_8_ = ZEXT48(align);" (assignment_expression "buf._48_8_ = ZEXT48(align)" (field_expression "buf._48_8_" identifier . field_identifier) = (call_expression "ZEXT48(align)" identifier (argument_list "(align)" ( identifier )))) ;) (expression_statement "buf._56_8_ = ZEXT48(ent_size);" (assignment_expression "buf._56_8_ = ZEXT48(ent_size)" (field_expression "buf._56_8_" identifier . field_identifier) = (call_expression "ZEXT48(ent_size)" identifier (argument_list "(ent_size)" ( identifier )))) ;) (expression_statement "buf._8_8_ = uVar8;" (assignment_expression "buf._8_8_ = uVar8" (field_expression "buf._8_8_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._16_8_ = addr;" (assignment_expression "buf._16_8_ = addr" (field_expression "buf._16_8_" identifier . field_identifier) = identifier) ;) (expression_statement "buf._24_8_ = offset;" (assignment_expression "buf._24_8_ = offset" (field_expression "buf._24_8_" identifier . field_identifier) = identifier) ;) }) (else_clause "else {\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }" else (compound_statement "{\n      if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;\n      buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;\n      buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;\n      buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;\n      buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;\n      buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;\n      uVar5 = (ulong)align;\n      buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      uVar5 = (ulong)ent_size;\n      buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;\n      buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;\n    }" { (if_statement "if (name != (char *)0x0) {\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" if (parenthesized_expression "(name != (char *)0x0)" ( (binary_expression "name != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);\n        uVar2 = (uint)sVar4;\n        buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" { (expression_statement "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name);" (assignment_expression "sVar4 = Stringpool_template<char>::get_offset(&this->shstrtab_,name)" identifier = (binary_expression "Stringpool_template<char>::get_offset(&this->shstrtab_,name)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "get_offset(&this->shstrtab_,name)" identifier (argument_list "(&this->shstrtab_,name)" ( (pointer_expression "&this->shstrtab_" & (field_expression "this->shstrtab_" identifier -> field_identifier)) , identifier ))))) ;) (expression_statement "uVar2 = (uint)sVar4;" (assignment_expression "uVar2 = (uint)sVar4" identifier = (cast_expression "(uint)sVar4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "buf._0_4_ = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (field_expression "buf._0_4_" identifier . field_identifier) = (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal))) ;) })) (expression_statement "buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18;" (assignment_expression "buf._4_4_ = type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18" (field_expression "buf._4_4_" identifier . field_identifier) = (binary_expression "type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8 | type << 0x18" (binary_expression "type >> 0x18 | (type & 0xff0000) >> 8 | (type & 0xff00) << 8" (binary_expression "type >> 0x18 | (type & 0xff0000) >> 8" (binary_expression "type >> 0x18" identifier >> number_literal) | (binary_expression "(type & 0xff0000) >> 8" (parenthesized_expression "(type & 0xff0000)" ( (binary_expression "type & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(type & 0xff00) << 8" (parenthesized_expression "(type & 0xff00)" ( (binary_expression "type & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "type << 0x18" identifier << number_literal))) ;) (expression_statement "buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38;" (assignment_expression "buf._16_8_ = addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38" (field_expression "buf._16_8_" identifier . field_identifier) = (binary_expression "addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28 |\n                   addr << 0x38" (binary_expression "addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18 | (addr & 0xff00) << 0x28" (binary_expression "addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8 | (addr & 0xff0000) << 0x18" (binary_expression "addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8 |\n                   (addr & 0xff000000) << 8" (binary_expression "addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18 | (addr & 0xff00000000) >> 8" (binary_expression "addr >> 0x38 | (addr & 0xff000000000000) >> 0x28 |\n                   (addr & 0xff0000000000) >> 0x18" (binary_expression "addr >> 0x38 | (addr & 0xff000000000000) >> 0x28" (binary_expression "addr >> 0x38" identifier >> number_literal) | (binary_expression "(addr & 0xff000000000000) >> 0x28" (parenthesized_expression "(addr & 0xff000000000000)" ( (binary_expression "addr & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(addr & 0xff0000000000) >> 0x18" (parenthesized_expression "(addr & 0xff0000000000)" ( (binary_expression "addr & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(addr & 0xff00000000) >> 8" (parenthesized_expression "(addr & 0xff00000000)" ( (binary_expression "addr & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(addr & 0xff000000) << 8" (parenthesized_expression "(addr & 0xff000000)" ( (binary_expression "addr & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(addr & 0xff0000) << 0x18" (parenthesized_expression "(addr & 0xff0000)" ( (binary_expression "addr & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(addr & 0xff00) << 0x28" (parenthesized_expression "(addr & 0xff00)" ( (binary_expression "addr & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "addr << 0x38" identifier << number_literal))) ;) (expression_statement "buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38;" (assignment_expression "buf._24_8_ = (ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38" (field_expression "buf._24_8_" identifier . field_identifier) = (binary_expression "(ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28 | offset << 0x38" (binary_expression "(ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18 |\n                   (offset & 0xff00U) << 0x28" (binary_expression "(ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8 | (offset & 0xff0000U) << 0x18" (binary_expression "(ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8 |\n                   (offset & 0xff000000U) << 8" (binary_expression "(ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18 | (offset & 0xff00000000U) >> 8" (binary_expression "(ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28 |\n                   (offset & 0xff0000000000U) >> 0x18" (binary_expression "(ulong)offset >> 0x38 | (offset & 0xff000000000000U) >> 0x28" (binary_expression "(ulong)offset >> 0x38" (cast_expression "(ulong)offset" ( (type_descriptor "ulong" type_identifier) ) identifier) >> number_literal) | (binary_expression "(offset & 0xff000000000000U) >> 0x28" (parenthesized_expression "(offset & 0xff000000000000U)" ( (binary_expression "offset & 0xff000000000000U" identifier & number_literal) )) >> number_literal)) | (binary_expression "(offset & 0xff0000000000U) >> 0x18" (parenthesized_expression "(offset & 0xff0000000000U)" ( (binary_expression "offset & 0xff0000000000U" identifier & number_literal) )) >> number_literal)) | (binary_expression "(offset & 0xff00000000U) >> 8" (parenthesized_expression "(offset & 0xff00000000U)" ( (binary_expression "offset & 0xff00000000U" identifier & number_literal) )) >> number_literal)) | (binary_expression "(offset & 0xff000000U) << 8" (parenthesized_expression "(offset & 0xff000000U)" ( (binary_expression "offset & 0xff000000U" identifier & number_literal) )) << number_literal)) | (binary_expression "(offset & 0xff0000U) << 0x18" (parenthesized_expression "(offset & 0xff0000U)" ( (binary_expression "offset & 0xff0000U" identifier & number_literal) )) << number_literal)) | (binary_expression "(offset & 0xff00U) << 0x28" (parenthesized_expression "(offset & 0xff00U)" ( (binary_expression "offset & 0xff00U" identifier & number_literal) )) << number_literal)) | (binary_expression "offset << 0x38" identifier << number_literal))) ;) (expression_statement "buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38;" (assignment_expression "buf._32_8_ = sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38" (field_expression "buf._32_8_" identifier . field_identifier) = (binary_expression "sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28 | sect_size << 0x38" (binary_expression "sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18 |\n                   (sect_size & 0xff00) << 0x28" (binary_expression "sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8 | (sect_size & 0xff0000) << 0x18" (binary_expression "sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8 |\n                   (sect_size & 0xff000000) << 8" (binary_expression "sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18 | (sect_size & 0xff00000000) >> 8" (binary_expression "sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28 |\n                   (sect_size & 0xff0000000000) >> 0x18" (binary_expression "sect_size >> 0x38 | (sect_size & 0xff000000000000) >> 0x28" (binary_expression "sect_size >> 0x38" identifier >> number_literal) | (binary_expression "(sect_size & 0xff000000000000) >> 0x28" (parenthesized_expression "(sect_size & 0xff000000000000)" ( (binary_expression "sect_size & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(sect_size & 0xff0000000000) >> 0x18" (parenthesized_expression "(sect_size & 0xff0000000000)" ( (binary_expression "sect_size & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(sect_size & 0xff00000000) >> 8" (parenthesized_expression "(sect_size & 0xff00000000)" ( (binary_expression "sect_size & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(sect_size & 0xff000000) << 8" (parenthesized_expression "(sect_size & 0xff000000)" ( (binary_expression "sect_size & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(sect_size & 0xff0000) << 0x18" (parenthesized_expression "(sect_size & 0xff0000)" ( (binary_expression "sect_size & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(sect_size & 0xff00) << 0x28" (parenthesized_expression "(sect_size & 0xff00)" ( (binary_expression "sect_size & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "sect_size << 0x38" identifier << number_literal))) ;) (expression_statement "buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18;" (assignment_expression "buf._40_4_ = link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18" (field_expression "buf._40_4_" identifier . field_identifier) = (binary_expression "link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8 | link << 0x18" (binary_expression "link >> 0x18 | (link & 0xff0000) >> 8 | (link & 0xff00) << 8" (binary_expression "link >> 0x18 | (link & 0xff0000) >> 8" (binary_expression "link >> 0x18" identifier >> number_literal) | (binary_expression "(link & 0xff0000) >> 8" (parenthesized_expression "(link & 0xff0000)" ( (binary_expression "link & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(link & 0xff00) << 8" (parenthesized_expression "(link & 0xff00)" ( (binary_expression "link & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "link << 0x18" identifier << number_literal))) ;) (expression_statement "buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18;" (assignment_expression "buf._44_4_ = info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18" (field_expression "buf._44_4_" identifier . field_identifier) = (binary_expression "info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8 | info << 0x18" (binary_expression "info >> 0x18 | (info & 0xff0000) >> 8 | (info & 0xff00) << 8" (binary_expression "info >> 0x18 | (info & 0xff0000) >> 8" (binary_expression "info >> 0x18" identifier >> number_literal) | (binary_expression "(info & 0xff0000) >> 8" (parenthesized_expression "(info & 0xff0000)" ( (binary_expression "info & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(info & 0xff00) << 8" (parenthesized_expression "(info & 0xff00)" ( (binary_expression "info & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "info << 0x18" identifier << number_literal))) ;) (expression_statement "uVar5 = (ulong)align;" (assignment_expression "uVar5 = (ulong)align" identifier = (cast_expression "(ulong)align" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;" (assignment_expression "buf._48_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38" (field_expression "buf._48_8_" identifier . field_identifier) = (binary_expression "(uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38" (binary_expression "(uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28" (binary_expression "(uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18" (binary_expression "(uVar5 & 0xff000000) << 8" (parenthesized_expression "(uVar5 & 0xff000000)" ( (binary_expression "uVar5 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar5 & 0xff0000) << 0x18" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar5 & 0xff00) << 0x28" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar5 = (ulong)ent_size;" (assignment_expression "uVar5 = (ulong)ent_size" identifier = (cast_expression "(ulong)ent_size" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38;" (assignment_expression "buf._56_8_ = (uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38" (field_expression "buf._56_8_" identifier . field_identifier) = (binary_expression "(uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28\n                   | uVar5 << 0x38" (binary_expression "(uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18 | (uVar5 & 0xff00) << 0x28" (binary_expression "(uVar5 & 0xff000000) << 8 | (uVar5 & 0xff0000) << 0x18" (binary_expression "(uVar5 & 0xff000000) << 8" (parenthesized_expression "(uVar5 & 0xff000000)" ( (binary_expression "uVar5 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar5 & 0xff0000) << 0x18" (parenthesized_expression "(uVar5 & 0xff0000)" ( (binary_expression "uVar5 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar5 & 0xff00) << 0x28" (parenthesized_expression "(uVar5 & 0xff00)" ( (binary_expression "uVar5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar5 << 0x38" identifier << number_literal))) ;) (expression_statement "buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38;" (assignment_expression "buf._8_8_ = (uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38" (field_expression "buf._8_8_" identifier . field_identifier) = (binary_expression "(uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28\n                  | uVar8 << 0x38" (binary_expression "(uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18 | (uVar8 & 0xff00) << 0x28" (binary_expression "(uVar8 & 0xff000000) << 8 | (uVar8 & 0xff0000) << 0x18" (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))) ;) }))) (expression_statement "sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_);" (assignment_expression "sVar6 = fwrite(buf,1,0x40,(FILE *)this->fd_)" identifier = (call_expression "fwrite(buf,1,0x40,(FILE *)this->fd_)" identifier (argument_list "(buf,1,0x40,(FILE *)this->fd_)" ( identifier , number_literal , number_literal , (cast_expression "(FILE *)this->fd_" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (field_expression "this->fd_" identifier -> field_identifier)) )))) ;) (if_statement "if (sVar6 < 0x40) {\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }" if (parenthesized_expression "(sVar6 < 0x40)" ( (binary_expression "sVar6 < 0x40" identifier < number_literal) )) (compound_statement "{\nLAB_00152025:\n      pcVar1 = this->name_;\n      format = (char *)gettext("%s: error writing section header table");\n                    /* WARNING: Subroutine does not return */\n      gold_fatal(format,pcVar1);\n    }" { (labeled_statement "LAB_00152025:\n      pcVar1 = this->name_;" statement_identifier : (expression_statement "pcVar1 = this->name_;" (assignment_expression "pcVar1 = this->name_" identifier = (field_expression "this->name_" identifier -> field_identifier)) ;)) (expression_statement "format = (char *)gettext("%s: error writing section header table");" (assignment_expression "format = (char *)gettext("%s: error writing section header table")" identifier = (cast_expression "(char *)gettext("%s: error writing section header table")" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext("%s: error writing section header table")" identifier (argument_list "("%s: error writing section header table")" ( (string_literal ""%s: error writing section header table"" " string_content ") ))))) ;) comment (expression_statement "gold_fatal(format,pcVar1);" (call_expression "gold_fatal(format,pcVar1)" identifier (argument_list "(format,pcVar1)" ( identifier , identifier ))) ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)\n\n{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)\n\n{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)" identifier (parameter_list "(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)" ( (parameter_declaration "undefined8 *param_1" type_identifier (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "long param_2" (sized_type_specifier "long" long) identifier) , (parameter_declaration "uint param_3" type_identifier identifier) , (parameter_declaration "ulong param_4" type_identifier identifier) , (parameter_declaration "ulong param_5" type_identifier identifier) , (parameter_declaration "ulong param_6" type_identifier identifier) , (parameter_declaration "ulong param_7" type_identifier identifier) , (parameter_declaration "uint param_8" type_identifier identifier) , (parameter_declaration "uint param_9" type_identifier identifier) , (parameter_declaration "uint param_10" type_identifier identifier) , (parameter_declaration "uint param_11" type_identifier identifier) ))) (compound_statement "{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}" { (declaration "undefined8 uVar1;" type_identifier identifier ;) (declaration "uint uVar2;" type_identifier identifier ;) (declaration "uint uVar3;" type_identifier identifier ;) (declaration "ulong uVar4;" type_identifier identifier ;) (declaration "size_t sVar5;" primitive_type identifier ;) (declaration "undefined8 uVar6;" type_identifier identifier ;) (declaration "uint uVar7;" type_identifier identifier ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "uint local_68;" type_identifier identifier ;) (declaration "uint local_64;" type_identifier identifier ;) (declaration "undefined8 local_60;" type_identifier identifier ;) (declaration "undefined8 local_58;" type_identifier identifier ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined8 local_48;" type_identifier identifier ;) (declaration "uint local_40;" type_identifier identifier ;) (declaration "uint local_3c;" type_identifier identifier ;) (declaration "ulong local_38;" type_identifier identifier ;) (declaration "ulong local_30;" type_identifier identifier ;) (expression_statement "uVar2 = (uint)param_4;" (assignment_expression "uVar2 = (uint)param_4" identifier = (cast_expression "(uint)param_4" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "local_64 = param_3;" (assignment_expression "local_64 = param_3" identifier = identifier) ;) (if_statement "if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" if (parenthesized_expression "(*(int *)((long)param_1 + 0xc) == 0x20)" ( (binary_expression "*(int *)((long)param_1 + 0xc) == 0x20" (pointer_expression "*(int *)((long)param_1 + 0xc)" * (cast_expression "(int *)((long)param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc)" ( (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) == number_literal) )) (compound_statement "{\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }" { (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (expression_statement "uVar8 = (uint)param_5;" (assignment_expression "uVar8 = (uint)param_5" identifier = (cast_expression "(uint)param_5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "uVar7 = (uint)param_6;" (assignment_expression "uVar7 = (uint)param_6" identifier = (cast_expression "(uint)param_6" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (if_statement "if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 2) == 0)" ( (binary_expression "*(int *)(param_1 + 2) == 0" (pointer_expression "*(int *)(param_1 + 2)" * (cast_expression "(int *)(param_1 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }" { (if_statement "if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" { (expression_statement "local_68 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "local_68 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) })) (expression_statement "local_60 = CONCAT44(uVar8,uVar2);" (assignment_expression "local_60 = CONCAT44(uVar8,uVar2)" identifier = (call_expression "CONCAT44(uVar8,uVar2)" identifier (argument_list "(uVar8,uVar2)" ( identifier , identifier )))) ;) (expression_statement "local_50 = CONCAT44(param_9,param_8);" (assignment_expression "local_50 = CONCAT44(param_9,param_8)" identifier = (call_expression "CONCAT44(param_9,param_8)" identifier (argument_list "(param_9,param_8)" ( identifier , identifier )))) ;) (expression_statement "local_58 = CONCAT44((uint)param_7,uVar7);" (assignment_expression "local_58 = CONCAT44((uint)param_7,uVar7)" identifier = (call_expression "CONCAT44((uint)param_7,uVar7)" identifier (argument_list "((uint)param_7,uVar7)" ( (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) , identifier )))) ;) }) (else_clause "else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" else (compound_statement "{\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" { (if_statement "if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }" { (expression_statement "uVar3 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "uVar3 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) (expression_statement "local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;" (assignment_expression "local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" identifier = (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | 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 "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;" (assignment_expression "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" identifier = (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8" (binary_expression "param_3 >> 0x18" identifier >> number_literal) | (binary_expression "(param_3 & 0xff0000) >> 8" (parenthesized_expression "(param_3 & 0xff0000)" ( (binary_expression "param_3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff00) << 8" (parenthesized_expression "(param_3 & 0xff00)" ( (binary_expression "param_3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_3 << 0x18" identifier << number_literal))) ;) (expression_statement "local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);" (assignment_expression "local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" identifier = (call_expression "CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" identifier (argument_list "(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" ( (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" ( (binary_expression "uVar8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" ( (binary_expression "uVar8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar8 << 0x18" identifier << number_literal)) , (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);" (assignment_expression "local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" identifier = (call_expression "CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" identifier (argument_list "(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" ( (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8" (binary_expression "param_9 >> 0x18" identifier >> number_literal) | (binary_expression "(param_9 & 0xff0000) >> 8" (parenthesized_expression "(param_9 & 0xff0000)" ( (binary_expression "param_9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_9 & 0xff00) << 8" (parenthesized_expression "(param_9 & 0xff00)" ( (binary_expression "param_9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_9 << 0x18" identifier << number_literal)) , (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8" (binary_expression "param_8 >> 0x18" identifier >> number_literal) | (binary_expression "(param_8 & 0xff0000) >> 8" (parenthesized_expression "(param_8 & 0xff0000)" ( (binary_expression "param_8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_8 & 0xff00) << 8" (parenthesized_expression "(param_8 & 0xff00)" ( (binary_expression "param_8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_8 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);" (assignment_expression "local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" identifier = (call_expression "CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" identifier (argument_list "((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" ( (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18" (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8" (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8" (binary_expression "(uint)param_7 >> 0x18" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) >> number_literal) | (binary_expression "((uint)param_7 & 0xff0000) >> 8" (parenthesized_expression "((uint)param_7 & 0xff0000)" ( (binary_expression "(uint)param_7 & 0xff0000" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) >> number_literal)) | (binary_expression "((uint)param_7 & 0xff00) << 8" (parenthesized_expression "((uint)param_7 & 0xff00)" ( (binary_expression "(uint)param_7 & 0xff00" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) & number_literal) )) << number_literal)) | (binary_expression "(uint)param_7 << 0x18" (cast_expression "(uint)param_7" ( (type_descriptor "uint" type_identifier) ) identifier) << number_literal)) , (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" ( (binary_expression "uVar7 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" ( (binary_expression "uVar7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar7 << 0x18" identifier << number_literal)) )))) ;) (expression_statement "param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;" (assignment_expression "param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18" identifier = (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18" (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8" (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8" (binary_expression "param_10 >> 0x18" identifier >> number_literal) | (binary_expression "(param_10 & 0xff0000) >> 8" (parenthesized_expression "(param_10 & 0xff0000)" ( (binary_expression "param_10 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_10 & 0xff00) << 8" (parenthesized_expression "(param_10 & 0xff00)" ( (binary_expression "param_10 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_10 << 0x18" identifier << number_literal))) ;) (expression_statement "param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;" (assignment_expression "param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18" identifier = (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18" (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8" (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8" (binary_expression "param_11 >> 0x18" identifier >> number_literal) | (binary_expression "(param_11 & 0xff0000) >> 8" (parenthesized_expression "(param_11 & 0xff0000)" ( (binary_expression "param_11 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_11 & 0xff00) << 8" (parenthesized_expression "(param_11 & 0xff00)" ( (binary_expression "param_11 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_11 << 0x18" identifier << number_literal))) ;) }))) (expression_statement "local_48 = CONCAT44(param_11,param_10);" (assignment_expression "local_48 = CONCAT44(param_11,param_10)" identifier = (call_expression "CONCAT44(param_11,param_10)" identifier (argument_list "(param_11,param_10)" ( identifier , identifier )))) ;) (expression_statement "sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);" (assignment_expression "sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4])" identifier = (call_expression "fwrite(&local_68,1,0x28,(FILE *)param_1[4])" identifier (argument_list "(&local_68,1,0x28,(FILE *)param_1[4])" ( (pointer_expression "&local_68" & identifier) , number_literal , number_literal , (cast_expression "(FILE *)param_1[4]" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) )))) ;) (if_statement "if (sVar5 < 0x28) goto LAB_00152025;" if (parenthesized_expression "(sVar5 < 0x28)" ( (binary_expression "sVar5 < 0x28" identifier < number_literal) )) (goto_statement "goto LAB_00152025;" goto statement_identifier ;)) }) (else_clause "else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" else (compound_statement "{\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" { (if_statement "if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }" if (parenthesized_expression "(*(int *)((long)param_1 + 0xc) != 0x40)" ( (binary_expression "*(int *)((long)param_1 + 0xc) != 0x40" (pointer_expression "*(int *)((long)param_1 + 0xc)" * (cast_expression "(int *)((long)param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_1 + 0xc)" ( (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) != number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }" { (expression_statement "FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");" (call_expression "FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr")" identifier (argument_list "("../../gold/dwp.cc",0x881,"write_shdr")" ( (string_literal ""../../gold/dwp.cc"" " string_content ") , number_literal , (string_literal ""write_shdr"" " string_content ") ))) ;) })) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" identifier = number_literal) ;) (if_statement "if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" if (parenthesized_expression "(*(int *)(param_1 + 2) == 0)" ( (binary_expression "*(int *)(param_1 + 2) == 0" (pointer_expression "*(int *)(param_1 + 2)" * (cast_expression "(int *)(param_1 + 2)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 2)" ( (binary_expression "param_1 + 2" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }" { (if_statement "if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" { (expression_statement "local_68 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "local_68 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) })) (expression_statement "local_48 = param_7;" (assignment_expression "local_48 = param_7" identifier = identifier) ;) (expression_statement "local_40 = param_8;" (assignment_expression "local_40 = param_8" identifier = identifier) ;) (expression_statement "local_3c = param_9;" (assignment_expression "local_3c = param_9" identifier = identifier) ;) (expression_statement "local_38 = (ulong)param_10;" (assignment_expression "local_38 = (ulong)param_10" identifier = (cast_expression "(ulong)param_10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_30 = (ulong)param_11;" (assignment_expression "local_30 = (ulong)param_11" identifier = (cast_expression "(ulong)param_11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_60 = param_4 & 0xffffffff;" (assignment_expression "local_60 = param_4 & 0xffffffff" identifier = (binary_expression "param_4 & 0xffffffff" identifier & number_literal)) ;) (expression_statement "local_58 = param_5;" (assignment_expression "local_58 = param_5" identifier = identifier) ;) (expression_statement "local_50 = param_6;" (assignment_expression "local_50 = param_6" identifier = identifier) ;) }) (else_clause "else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" else (compound_statement "{\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" { (if_statement "if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" if (parenthesized_expression "(param_2 != 0)" ( (binary_expression "param_2 != 0" identifier != number_literal) )) (compound_statement "{\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" { (expression_statement "uVar2 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "uVar2 = FUN_0026df00(param_1 + 0x21)" identifier = (call_expression "FUN_0026df00(param_1 + 0x21)" identifier (argument_list "(param_1 + 0x21)" ( (binary_expression "param_1 + 0x21" identifier + number_literal) )))) ;) (expression_statement "local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" identifier = (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x18" identifier << number_literal))) ;) })) (expression_statement "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;" (assignment_expression "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" identifier = (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8" (binary_expression "param_3 >> 0x18" identifier >> number_literal) | (binary_expression "(param_3 & 0xff0000) >> 8" (parenthesized_expression "(param_3 & 0xff0000)" ( (binary_expression "param_3 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff00) << 8" (parenthesized_expression "(param_3 & 0xff00)" ( (binary_expression "param_3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_3 << 0x18" identifier << number_literal))) ;) (expression_statement "local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;" (assignment_expression "local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38" identifier = (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28" (binary_expression "param_5 >> 0x38" identifier >> number_literal) | (binary_expression "(param_5 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_5 & 0xff000000000000)" ( (binary_expression "param_5 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_5 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_5 & 0xff0000000000)" ( (binary_expression "param_5 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_5 & 0xff00000000) >> 8" (parenthesized_expression "(param_5 & 0xff00000000)" ( (binary_expression "param_5 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_5 & 0xff000000) << 8" (parenthesized_expression "(param_5 & 0xff000000)" ( (binary_expression "param_5 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_5 & 0xff0000) << 0x18" (parenthesized_expression "(param_5 & 0xff0000)" ( (binary_expression "param_5 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_5 & 0xff00) << 0x28" (parenthesized_expression "(param_5 & 0xff00)" ( (binary_expression "param_5 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_5 << 0x38" identifier << number_literal))) ;) (expression_statement "local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;" (assignment_expression "local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38" identifier = (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28" (binary_expression "param_6 >> 0x38" identifier >> number_literal) | (binary_expression "(param_6 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_6 & 0xff000000000000)" ( (binary_expression "param_6 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_6 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_6 & 0xff0000000000)" ( (binary_expression "param_6 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_6 & 0xff00000000) >> 8" (parenthesized_expression "(param_6 & 0xff00000000)" ( (binary_expression "param_6 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_6 & 0xff000000) << 8" (parenthesized_expression "(param_6 & 0xff000000)" ( (binary_expression "param_6 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_6 & 0xff0000) << 0x18" (parenthesized_expression "(param_6 & 0xff0000)" ( (binary_expression "param_6 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_6 & 0xff00) << 0x28" (parenthesized_expression "(param_6 & 0xff00)" ( (binary_expression "param_6 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_6 << 0x38" identifier << number_literal))) ;) (expression_statement "local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;" (assignment_expression "local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38" identifier = (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28" (call_expression "(ulong)(param_7._4_4_ >> 0x18)" (parenthesized_expression "(ulong)" ( identifier )) (argument_list "(param_7._4_4_ >> 0x18)" ( (binary_expression "param_7._4_4_ >> 0x18" (field_expression "param_7._4_4_" identifier . field_identifier) >> number_literal) ))) | (binary_expression "(((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff0000) << 0x20)" ( (binary_expression "((ulong)param_7._4_4_ & 0xff0000) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff0000)" ( (binary_expression "(ulong)param_7._4_4_ & 0xff0000" (cast_expression "(ulong)param_7._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "param_7._4_4_" identifier . field_identifier)) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff00) << 0x20)" ( (binary_expression "((ulong)param_7._4_4_ & 0xff00) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff00)" ( (binary_expression "(ulong)param_7._4_4_ & 0xff00" (cast_expression "(ulong)param_7._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "param_7._4_4_" identifier . field_identifier)) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff) << 0x20)" ( (binary_expression "((ulong)param_7._4_4_ & 0xff) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff)" ( (binary_expression "(ulong)param_7._4_4_ & 0xff" (cast_expression "(ulong)param_7._4_4_" ( (type_descriptor "ulong" type_identifier) ) (field_expression "param_7._4_4_" identifier . field_identifier)) & number_literal) )) << number_literal) )) >> number_literal)) | (binary_expression "(param_7 & 0xff000000) << 8" (parenthesized_expression "(param_7 & 0xff000000)" ( (binary_expression "param_7 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_7 & 0xff0000) << 0x18" (parenthesized_expression "(param_7 & 0xff0000)" ( (binary_expression "param_7 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_7 & 0xff00) << 0x28" (parenthesized_expression "(param_7 & 0xff00)" ( (binary_expression "param_7 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_7 << 0x38" identifier << number_literal))) ;) (expression_statement "local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;" (assignment_expression "local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18" identifier = (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8" (binary_expression "param_8 >> 0x18" identifier >> number_literal) | (binary_expression "(param_8 & 0xff0000) >> 8" (parenthesized_expression "(param_8 & 0xff0000)" ( (binary_expression "param_8 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_8 & 0xff00) << 8" (parenthesized_expression "(param_8 & 0xff00)" ( (binary_expression "param_8 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_8 << 0x18" identifier << number_literal))) ;) (expression_statement "local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;" (assignment_expression "local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18" identifier = (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8" (binary_expression "param_9 >> 0x18" identifier >> number_literal) | (binary_expression "(param_9 & 0xff0000) >> 8" (parenthesized_expression "(param_9 & 0xff0000)" ( (binary_expression "param_9 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_9 & 0xff00) << 8" (parenthesized_expression "(param_9 & 0xff00)" ( (binary_expression "param_9 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_9 << 0x18" identifier << number_literal))) ;) (expression_statement "uVar4 = (ulong)param_10;" (assignment_expression "uVar4 = (ulong)param_10" identifier = (cast_expression "(ulong)param_10" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;" (assignment_expression "local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" identifier = (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18" (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal))) ;) (expression_statement "uVar4 = (ulong)param_11;" (assignment_expression "uVar4 = (ulong)param_11" identifier = (cast_expression "(ulong)param_11" ( (type_descriptor "ulong" type_identifier) ) identifier)) ;) (expression_statement "local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;" (assignment_expression "local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" identifier = (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18" (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" ( (binary_expression "uVar4 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x38" identifier << number_literal))) ;) (expression_statement "local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;" (assignment_expression "local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38" identifier = (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38" (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28" (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18" (binary_expression "(param_4 & 0xff000000) << 8" (parenthesized_expression "(param_4 & 0xff000000)" ( (binary_expression "param_4 & 0xff000000" identifier & number_literal) )) << number_literal) | (binary_expression "(param_4 & 0xff0000) << 0x18" (parenthesized_expression "(param_4 & 0xff0000)" ( (binary_expression "param_4 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_4 & 0xff00) << 0x28" (parenthesized_expression "(param_4 & 0xff00)" ( (binary_expression "param_4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_4 & 0xffffffff) << 0x38" (parenthesized_expression "(param_4 & 0xffffffff)" ( (binary_expression "param_4 & 0xffffffff" identifier & number_literal) )) << number_literal))) ;) }))) (expression_statement "sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);" (assignment_expression "sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4])" identifier = (call_expression "fwrite(&local_68,1,0x40,(FILE *)param_1[4])" identifier (argument_list "(&local_68,1,0x40,(FILE *)param_1[4])" ( (pointer_expression "&local_68" & identifier) , number_literal , number_literal , (cast_expression "(FILE *)param_1[4]" ( (type_descriptor "FILE *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "param_1[4]" identifier [ number_literal ])) )))) ;) (if_statement "if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }" if (parenthesized_expression "(sVar5 < 0x40)" ( (binary_expression "sVar5 < 0x40" identifier < number_literal) )) (compound_statement "{\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }" { (labeled_statement "LAB_00152025:\n      uVar1 = *param_1;" statement_identifier : (expression_statement "uVar1 = *param_1;" (assignment_expression "uVar1 = *param_1" identifier = (pointer_expression "*param_1" * identifier)) ;)) (expression_statement "uVar6 = gettext("%s: error writing section header table");" (assignment_expression "uVar6 = gettext("%s: error writing section header table")" identifier = (call_expression "gettext("%s: error writing section header table")" identifier (argument_list "("%s: error writing section header table")" ( (string_literal ""%s: error writing section header table"" " string_content ") )))) ;) (expression_statement "FUN_001781e0(uVar6,uVar1);" (call_expression "FUN_001781e0(uVar6,uVar1)" identifier (argument_list "(uVar6,uVar1)" ( identifier , identifier ))) ;) })) }))) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration (sized_type_specifier long) IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (cast_expression ( (type_descriptor TYPE) ) IDENT) , IDENT )))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 = (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 = (call_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)) , (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 = (call_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)) , (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 = (call_expression IDENT (argument_list ( (binary_expression (binary_expression (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) << LIT)) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) 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)) )))) ;) (expression_statement (assignment_expression IDENT = (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 = (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 = (call_expression IDENT (argument_list ( IDENT , IDENT )))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) })) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = (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 = (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 = (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))) ;) (expression_statement (assignment_expression IDENT = (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))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (field_expression IDENT . field_identifier) >> LIT) ))) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & LIT) )) << LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & LIT) )) << LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) (field_expression IDENT . field_identifier)) & LIT) )) << 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))) ;) (expression_statement (assignment_expression IDENT = (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 = (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) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (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))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (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))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (binary_expression (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))) ;) }))) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , LIT , LIT , (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ])) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;)) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) }))) (return_statement return ;) })))
(function_definition "void FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)\n\n{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00151e50(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)" (identifier "FUN_00151e50") (parameter_list "(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,\n                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)" (( "(") (parameter_declaration "undefined8 *param_1" (type_identifier "undefined8") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "long param_2" (sized_type_specifier "long" (long "long")) (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) (, ",") (parameter_declaration "ulong param_4" (type_identifier "ulong") (identifier "param_4")) (, ",") (parameter_declaration "ulong param_5" (type_identifier "ulong") (identifier "param_5")) (, ",") (parameter_declaration "ulong param_6" (type_identifier "ulong") (identifier "param_6")) (, ",") (parameter_declaration "ulong param_7" (type_identifier "ulong") (identifier "param_7")) (, ",") (parameter_declaration "uint param_8" (type_identifier "uint") (identifier "param_8")) (, ",") (parameter_declaration "uint param_9" (type_identifier "uint") (identifier "param_9")) (, ",") (parameter_declaration "uint param_10" (type_identifier "uint") (identifier "param_10")) (, ",") (parameter_declaration "uint param_11" (type_identifier "uint") (identifier "param_11")) () ")"))) (compound_statement "{\n  undefined8 uVar1;\n  uint uVar2;\n  uint uVar3;\n  ulong uVar4;\n  size_t sVar5;\n  undefined8 uVar6;\n  uint uVar7;\n  uint uVar8;\n  uint local_68;\n  uint local_64;\n  undefined8 local_60;\n  undefined8 local_58;\n  undefined8 local_50;\n  undefined8 local_48;\n  uint local_40;\n  uint local_3c;\n  ulong local_38;\n  ulong local_30;\n  \n  uVar2 = (uint)param_4;\n  local_64 = param_3;\n  if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }\n  return;\n}" ({ "{") (declaration "undefined8 uVar1;" (type_identifier "undefined8") (identifier "uVar1") (; ";")) (declaration "uint uVar2;" (type_identifier "uint") (identifier "uVar2") (; ";")) (declaration "uint uVar3;" (type_identifier "uint") (identifier "uVar3") (; ";")) (declaration "ulong uVar4;" (type_identifier "ulong") (identifier "uVar4") (; ";")) (declaration "size_t sVar5;" (primitive_type "size_t") (identifier "sVar5") (; ";")) (declaration "undefined8 uVar6;" (type_identifier "undefined8") (identifier "uVar6") (; ";")) (declaration "uint uVar7;" (type_identifier "uint") (identifier "uVar7") (; ";")) (declaration "uint uVar8;" (type_identifier "uint") (identifier "uVar8") (; ";")) (declaration "uint local_68;" (type_identifier "uint") (identifier "local_68") (; ";")) (declaration "uint local_64;" (type_identifier "uint") (identifier "local_64") (; ";")) (declaration "undefined8 local_60;" (type_identifier "undefined8") (identifier "local_60") (; ";")) (declaration "undefined8 local_58;" (type_identifier "undefined8") (identifier "local_58") (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "undefined8 local_48;" (type_identifier "undefined8") (identifier "local_48") (; ";")) (declaration "uint local_40;" (type_identifier "uint") (identifier "local_40") (; ";")) (declaration "uint local_3c;" (type_identifier "uint") (identifier "local_3c") (; ";")) (declaration "ulong local_38;" (type_identifier "ulong") (identifier "local_38") (; ";")) (declaration "ulong local_30;" (type_identifier "ulong") (identifier "local_30") (; ";")) (expression_statement "uVar2 = (uint)param_4;" (assignment_expression "uVar2 = (uint)param_4" (identifier "uVar2") (= "=") (cast_expression "(uint)param_4" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_4"))) (; ";")) (expression_statement "local_64 = param_3;" (assignment_expression "local_64 = param_3" (identifier "local_64") (= "=") (identifier "param_3")) (; ";")) (if_statement "if (*(int *)((long)param_1 + 0xc) == 0x20) {\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }\n  else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" (if "if") (parenthesized_expression "(*(int *)((long)param_1 + 0xc) == 0x20)" (( "(") (binary_expression "*(int *)((long)param_1 + 0xc) == 0x20" (pointer_expression "*(int *)((long)param_1 + 0xc)" (* "*") (cast_expression "(int *)((long)param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xc)" (( "(") (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0x20")) () ")")) (compound_statement "{\n    local_68 = 0;\n    uVar8 = (uint)param_5;\n    uVar7 = (uint)param_6;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }\n    local_48 = CONCAT44(param_11,param_10);\n    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);\n    if (sVar5 < 0x28) goto LAB_00152025;\n  }" ({ "{") (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar8 = (uint)param_5;" (assignment_expression "uVar8 = (uint)param_5" (identifier "uVar8") (= "=") (cast_expression "(uint)param_5" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_5"))) (; ";")) (expression_statement "uVar7 = (uint)param_6;" (assignment_expression "uVar7 = (uint)param_6" (identifier "uVar7") (= "=") (cast_expression "(uint)param_6" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_6"))) (; ";")) (if_statement "if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }\n    else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 2) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 2) == 0" (pointer_expression "*(int *)(param_1 + 2)" (* "*") (cast_expression "(int *)(param_1 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_60 = CONCAT44(uVar8,uVar2);\n      local_50 = CONCAT44(param_9,param_8);\n      local_58 = CONCAT44((uint)param_7,uVar7);\n    }" ({ "{") (if_statement "if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" ({ "{") (expression_statement "local_68 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "local_68 = FUN_0026df00(param_1 + 0x21)" (identifier "local_68") (= "=") (call_expression "FUN_0026df00(param_1 + 0x21)" (identifier "FUN_0026df00") (argument_list "(param_1 + 0x21)" (( "(") (binary_expression "param_1 + 0x21" (identifier "param_1") (+ "+") (number_literal "0x21")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_60 = CONCAT44(uVar8,uVar2);" (assignment_expression "local_60 = CONCAT44(uVar8,uVar2)" (identifier "local_60") (= "=") (call_expression "CONCAT44(uVar8,uVar2)" (identifier "CONCAT44") (argument_list "(uVar8,uVar2)" (( "(") (identifier "uVar8") (, ",") (identifier "uVar2") () ")")))) (; ";")) (expression_statement "local_50 = CONCAT44(param_9,param_8);" (assignment_expression "local_50 = CONCAT44(param_9,param_8)" (identifier "local_50") (= "=") (call_expression "CONCAT44(param_9,param_8)" (identifier "CONCAT44") (argument_list "(param_9,param_8)" (( "(") (identifier "param_9") (, ",") (identifier "param_8") () ")")))) (; ";")) (expression_statement "local_58 = CONCAT44((uint)param_7,uVar7);" (assignment_expression "local_58 = CONCAT44((uint)param_7,uVar7)" (identifier "local_58") (= "=") (call_expression "CONCAT44((uint)param_7,uVar7)" (identifier "CONCAT44") (argument_list "((uint)param_7,uVar7)" (( "(") (cast_expression "(uint)param_7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_7")) (, ",") (identifier "uVar7") () ")")))) (; ";")) (} "}")) (else_clause "else {\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" (else "else") (compound_statement "{\n      if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);\n      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);\n      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);\n      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;\n      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;\n    }" ({ "{") (if_statement "if (param_2 != 0) {\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar3 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;\n      }" ({ "{") (expression_statement "uVar3 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "uVar3 = FUN_0026df00(param_1 + 0x21)" (identifier "uVar3") (= "=") (call_expression "FUN_0026df00(param_1 + 0x21)" (identifier "FUN_0026df00") (argument_list "(param_1 + 0x21)" (( "(") (binary_expression "param_1 + 0x21" (identifier "param_1") (+ "+") (number_literal "0x21")) () ")")))) (; ";")) (expression_statement "local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;" (assignment_expression "local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18" (identifier "local_68") (= "=") (binary_expression "uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | 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 "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;" (assignment_expression "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (identifier "local_64") (= "=") (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8" (binary_expression "param_3 >> 0x18" (identifier "param_3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_3 & 0xff0000) >> 8" (parenthesized_expression "(param_3 & 0xff0000)" (( "(") (binary_expression "param_3 & 0xff0000" (identifier "param_3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_3 & 0xff00) << 8" (parenthesized_expression "(param_3 & 0xff00)" (( "(") (binary_expression "param_3 & 0xff00" (identifier "param_3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_3 << 0x18" (identifier "param_3") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18);" (assignment_expression "local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" (identifier "local_60") (= "=") (call_expression "CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" (identifier "CONCAT44") (argument_list "(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18,\n                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18)" (( "(") (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |\n                          uVar8 << 0x18" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8" (binary_expression "uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8" (binary_expression "uVar8 >> 0x18" (identifier "uVar8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar8 & 0xff0000) >> 8" (parenthesized_expression "(uVar8 & 0xff0000)" (( "(") (binary_expression "uVar8 & 0xff0000" (identifier "uVar8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar8 & 0xff00) << 8" (parenthesized_expression "(uVar8 & 0xff00)" (( "(") (binary_expression "uVar8 & 0xff00" (identifier "uVar8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar8 << 0x18" (identifier "uVar8") (<< "<<") (number_literal "0x18"))) (, ",") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |\n                          uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar2 << 0x18" (identifier "uVar2") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18);" (assignment_expression "local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" (identifier "local_50") (= "=") (call_expression "CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" (identifier "CONCAT44") (argument_list "(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18,\n                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18)" (( "(") (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                          param_9 << 0x18" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8" (binary_expression "param_9 >> 0x18" (identifier "param_9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_9 & 0xff0000) >> 8" (parenthesized_expression "(param_9 & 0xff0000)" (( "(") (binary_expression "param_9 & 0xff0000" (identifier "param_9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_9 & 0xff00) << 8" (parenthesized_expression "(param_9 & 0xff00)" (( "(") (binary_expression "param_9 & 0xff00" (identifier "param_9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_9 << 0x18" (identifier "param_9") (<< "<<") (number_literal "0x18"))) (, ",") (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                          param_8 << 0x18" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8" (binary_expression "param_8 >> 0x18" (identifier "param_8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_8 & 0xff0000) >> 8" (parenthesized_expression "(param_8 & 0xff0000)" (( "(") (binary_expression "param_8 & 0xff0000" (identifier "param_8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_8 & 0xff00) << 8" (parenthesized_expression "(param_8 & 0xff00)" (( "(") (binary_expression "param_8 & 0xff00" (identifier "param_8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_8 << 0x18" (identifier "param_8") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18);" (assignment_expression "local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" (identifier "local_58") (= "=") (call_expression "CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" (identifier "CONCAT44") (argument_list "((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,\n                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18)" (( "(") (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18" (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |\n                          ((uint)param_7 & 0xff00) << 8" (binary_expression "(uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8" (binary_expression "(uint)param_7 >> 0x18" (cast_expression "(uint)param_7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_7")) (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "((uint)param_7 & 0xff0000) >> 8" (parenthesized_expression "((uint)param_7 & 0xff0000)" (( "(") (binary_expression "(uint)param_7 & 0xff0000" (cast_expression "(uint)param_7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_7")) (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "((uint)param_7 & 0xff00) << 8" (parenthesized_expression "((uint)param_7 & 0xff00)" (( "(") (binary_expression "(uint)param_7 & 0xff00" (cast_expression "(uint)param_7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_7")) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uint)param_7 << 0x18" (cast_expression "(uint)param_7" (( "(") (type_descriptor "uint" (type_identifier "uint")) () ")") (identifier "param_7")) (<< "<<") (number_literal "0x18"))) (, ",") (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |\n                          uVar7 << 0x18" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8" (binary_expression "uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8" (binary_expression "uVar7 >> 0x18" (identifier "uVar7") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar7 & 0xff0000) >> 8" (parenthesized_expression "(uVar7 & 0xff0000)" (( "(") (binary_expression "uVar7 & 0xff0000" (identifier "uVar7") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar7 & 0xff00) << 8" (parenthesized_expression "(uVar7 & 0xff00)" (( "(") (binary_expression "uVar7 & 0xff00" (identifier "uVar7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar7 << 0x18" (identifier "uVar7") (<< "<<") (number_literal "0x18"))) () ")")))) (; ";")) (expression_statement "param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18;" (assignment_expression "param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18" (identifier "param_10") (= "=") (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |\n                 param_10 << 0x18" (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8" (binary_expression "param_10 >> 0x18 | (param_10 & 0xff0000) >> 8" (binary_expression "param_10 >> 0x18" (identifier "param_10") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_10 & 0xff0000) >> 8" (parenthesized_expression "(param_10 & 0xff0000)" (( "(") (binary_expression "param_10 & 0xff0000" (identifier "param_10") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_10 & 0xff00) << 8" (parenthesized_expression "(param_10 & 0xff00)" (( "(") (binary_expression "param_10 & 0xff00" (identifier "param_10") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_10 << 0x18" (identifier "param_10") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18;" (assignment_expression "param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18" (identifier "param_11") (= "=") (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |\n                 param_11 << 0x18" (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8" (binary_expression "param_11 >> 0x18 | (param_11 & 0xff0000) >> 8" (binary_expression "param_11 >> 0x18" (identifier "param_11") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_11 & 0xff0000) >> 8" (parenthesized_expression "(param_11 & 0xff0000)" (( "(") (binary_expression "param_11 & 0xff0000" (identifier "param_11") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_11 & 0xff00) << 8" (parenthesized_expression "(param_11 & 0xff00)" (( "(") (binary_expression "param_11 & 0xff00" (identifier "param_11") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_11 << 0x18" (identifier "param_11") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")))) (expression_statement "local_48 = CONCAT44(param_11,param_10);" (assignment_expression "local_48 = CONCAT44(param_11,param_10)" (identifier "local_48") (= "=") (call_expression "CONCAT44(param_11,param_10)" (identifier "CONCAT44") (argument_list "(param_11,param_10)" (( "(") (identifier "param_11") (, ",") (identifier "param_10") () ")")))) (; ";")) (expression_statement "sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);" (assignment_expression "sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4])" (identifier "sVar5") (= "=") (call_expression "fwrite(&local_68,1,0x28,(FILE *)param_1[4])" (identifier "fwrite") (argument_list "(&local_68,1,0x28,(FILE *)param_1[4])" (( "(") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (number_literal "1") (, ",") (number_literal "0x28") (, ",") (cast_expression "(FILE *)param_1[4]" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) () ")")))) (; ";")) (if_statement "if (sVar5 < 0x28) goto LAB_00152025;" (if "if") (parenthesized_expression "(sVar5 < 0x28)" (( "(") (binary_expression "sVar5 < 0x28" (identifier "sVar5") (< "<") (number_literal "0x28")) () ")")) (goto_statement "goto LAB_00152025;" (goto "goto") (statement_identifier "LAB_00152025") (; ";"))) (} "}")) (else_clause "else {\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" (else "else") (compound_statement "{\n    if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }\n    local_68 = 0;\n    if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }\n    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);\n    if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }\n  }" ({ "{") (if_statement "if (*(int *)((long)param_1 + 0xc) != 0x40) {\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }" (if "if") (parenthesized_expression "(*(int *)((long)param_1 + 0xc) != 0x40)" (( "(") (binary_expression "*(int *)((long)param_1 + 0xc) != 0x40" (pointer_expression "*(int *)((long)param_1 + 0xc)" (* "*") (cast_expression "(int *)((long)param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_1 + 0xc)" (( "(") (binary_expression "(long)param_1 + 0xc" (cast_expression "(long)param_1" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_1")) (+ "+") (number_literal "0xc")) () ")")))) (!= "!=") (number_literal "0x40")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");" (call_expression "FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr")" (identifier "FUN_0017c650") (argument_list "("../../gold/dwp.cc",0x881,"write_shdr")" (( "(") (string_literal ""../../gold/dwp.cc"" (" """) (string_content "../../gold/dwp.cc") (" """)) (, ",") (number_literal "0x881") (, ",") (string_literal ""write_shdr"" (" """) (string_content "write_shdr") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "local_68 = 0;" (assignment_expression "local_68 = 0" (identifier "local_68") (= "=") (number_literal "0")) (; ";")) (if_statement "if (*(int *)(param_1 + 2) == 0) {\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }\n    else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 2) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 2) == 0" (pointer_expression "*(int *)(param_1 + 2)" (* "*") (cast_expression "(int *)(param_1 + 2)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 2)" (( "(") (binary_expression "param_1 + 2" (identifier "param_1") (+ "+") (number_literal "2")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }\n      local_48 = param_7;\n      local_40 = param_8;\n      local_3c = param_9;\n      local_38 = (ulong)param_10;\n      local_30 = (ulong)param_11;\n      local_60 = param_4 & 0xffffffff;\n      local_58 = param_5;\n      local_50 = param_6;\n    }" ({ "{") (if_statement "if (param_2 != 0) {\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        local_68 = FUN_0026df00(param_1 + 0x21);\n      }" ({ "{") (expression_statement "local_68 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "local_68 = FUN_0026df00(param_1 + 0x21)" (identifier "local_68") (= "=") (call_expression "FUN_0026df00(param_1 + 0x21)" (identifier "FUN_0026df00") (argument_list "(param_1 + 0x21)" (( "(") (binary_expression "param_1 + 0x21" (identifier "param_1") (+ "+") (number_literal "0x21")) () ")")))) (; ";")) (} "}"))) (expression_statement "local_48 = param_7;" (assignment_expression "local_48 = param_7" (identifier "local_48") (= "=") (identifier "param_7")) (; ";")) (expression_statement "local_40 = param_8;" (assignment_expression "local_40 = param_8" (identifier "local_40") (= "=") (identifier "param_8")) (; ";")) (expression_statement "local_3c = param_9;" (assignment_expression "local_3c = param_9" (identifier "local_3c") (= "=") (identifier "param_9")) (; ";")) (expression_statement "local_38 = (ulong)param_10;" (assignment_expression "local_38 = (ulong)param_10" (identifier "local_38") (= "=") (cast_expression "(ulong)param_10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_10"))) (; ";")) (expression_statement "local_30 = (ulong)param_11;" (assignment_expression "local_30 = (ulong)param_11" (identifier "local_30") (= "=") (cast_expression "(ulong)param_11" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_11"))) (; ";")) (expression_statement "local_60 = param_4 & 0xffffffff;" (assignment_expression "local_60 = param_4 & 0xffffffff" (identifier "local_60") (= "=") (binary_expression "param_4 & 0xffffffff" (identifier "param_4") (& "&") (number_literal "0xffffffff"))) (; ";")) (expression_statement "local_58 = param_5;" (assignment_expression "local_58 = param_5" (identifier "local_58") (= "=") (identifier "param_5")) (; ";")) (expression_statement "local_50 = param_6;" (assignment_expression "local_50 = param_6" (identifier "local_50") (= "=") (identifier "param_6")) (; ";")) (} "}")) (else_clause "else {\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" (else "else") (compound_statement "{\n      if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }\n      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;\n      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;\n      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;\n      local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;\n      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;\n      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;\n      uVar4 = (ulong)param_10;\n      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      uVar4 = (ulong)param_11;\n      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;\n      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;\n    }" ({ "{") (if_statement "if (param_2 != 0) {\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" (if "if") (parenthesized_expression "(param_2 != 0)" (( "(") (binary_expression "param_2 != 0" (identifier "param_2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        uVar2 = FUN_0026df00(param_1 + 0x21);\n        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;\n      }" ({ "{") (expression_statement "uVar2 = FUN_0026df00(param_1 + 0x21);" (assignment_expression "uVar2 = FUN_0026df00(param_1 + 0x21)" (identifier "uVar2") (= "=") (call_expression "FUN_0026df00(param_1 + 0x21)" (identifier "FUN_0026df00") (argument_list "(param_1 + 0x21)" (( "(") (binary_expression "param_1 + 0x21" (identifier "param_1") (+ "+") (number_literal "0x21")) () ")")))) (; ";")) (expression_statement "local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;" (assignment_expression "local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (identifier "local_68") (= "=") (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8" (binary_expression "uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8" (binary_expression "uVar2 >> 0x18" (identifier "uVar2") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar2 & 0xff0000) >> 8" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 8" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar2 << 0x18" (identifier "uVar2") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}"))) (expression_statement "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18;" (assignment_expression "local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (identifier "local_64") (= "=") (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |\n                 param_3 << 0x18" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8" (binary_expression "param_3 >> 0x18 | (param_3 & 0xff0000) >> 8" (binary_expression "param_3 >> 0x18" (identifier "param_3") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_3 & 0xff0000) >> 8" (parenthesized_expression "(param_3 & 0xff0000)" (( "(") (binary_expression "param_3 & 0xff0000" (identifier "param_3") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_3 & 0xff00) << 8" (parenthesized_expression "(param_3 & 0xff00)" (( "(") (binary_expression "param_3 & 0xff00" (identifier "param_3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_3 << 0x18" (identifier "param_3") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;" (assignment_expression "local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38" (identifier "local_58") (= "=") (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |\n                 (param_5 & 0xff00) << 0x28" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |\n                 (param_5 & 0xff000000) << 8" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |\n                 (param_5 & 0xff0000000000) >> 0x18" (binary_expression "param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28" (binary_expression "param_5 >> 0x38" (identifier "param_5") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(param_5 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_5 & 0xff000000000000)" (( "(") (binary_expression "param_5 & 0xff000000000000" (identifier "param_5") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(param_5 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_5 & 0xff0000000000)" (( "(") (binary_expression "param_5 & 0xff0000000000" (identifier "param_5") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(param_5 & 0xff00000000) >> 8" (parenthesized_expression "(param_5 & 0xff00000000)" (( "(") (binary_expression "param_5 & 0xff00000000" (identifier "param_5") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_5 & 0xff000000) << 8" (parenthesized_expression "(param_5 & 0xff000000)" (( "(") (binary_expression "param_5 & 0xff000000" (identifier "param_5") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(param_5 & 0xff0000) << 0x18" (parenthesized_expression "(param_5 & 0xff0000)" (( "(") (binary_expression "param_5 & 0xff0000" (identifier "param_5") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(param_5 & 0xff00) << 0x28" (parenthesized_expression "(param_5 & 0xff00)" (( "(") (binary_expression "param_5 & 0xff00" (identifier "param_5") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "param_5 << 0x38" (identifier "param_5") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;" (assignment_expression "local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38" (identifier "local_50") (= "=") (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |\n                 (param_6 & 0xff00) << 0x28" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |\n                 (param_6 & 0xff000000) << 8" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |\n                 (param_6 & 0xff0000000000) >> 0x18" (binary_expression "param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28" (binary_expression "param_6 >> 0x38" (identifier "param_6") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(param_6 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_6 & 0xff000000000000)" (( "(") (binary_expression "param_6 & 0xff000000000000" (identifier "param_6") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(param_6 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_6 & 0xff0000000000)" (( "(") (binary_expression "param_6 & 0xff0000000000" (identifier "param_6") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(param_6 & 0xff00000000) >> 8" (parenthesized_expression "(param_6 & 0xff00000000)" (( "(") (binary_expression "param_6 & 0xff00000000" (identifier "param_6") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_6 & 0xff000000) << 8" (parenthesized_expression "(param_6 & 0xff000000)" (( "(") (binary_expression "param_6 & 0xff000000" (identifier "param_6") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(param_6 & 0xff0000) << 0x18" (parenthesized_expression "(param_6 & 0xff0000)" (( "(") (binary_expression "param_6 & 0xff0000" (identifier "param_6") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(param_6 & 0xff00) << 0x28" (parenthesized_expression "(param_6 & 0xff00)" (( "(") (binary_expression "param_6 & 0xff00" (identifier "param_6") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "param_6 << 0x38" (identifier "param_6") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;" (assignment_expression "local_48 = (ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38" (identifier "local_48") (= "=") (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |\n                 (param_7 & 0xff0000) << 0x18" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |\n                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |\n                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18" (binary_expression "(ulong)(param_7._4_4_ >> 0x18) |\n                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28" (call_expression "(ulong)(param_7._4_4_ >> 0x18)" (parenthesized_expression "(ulong)" (( "(") (identifier "ulong") () ")")) (argument_list "(param_7._4_4_ >> 0x18)" (( "(") (binary_expression "param_7._4_4_ >> 0x18" (field_expression "param_7._4_4_" (identifier "param_7") (. ".") (field_identifier "_4_4_")) (>> ">>") (number_literal "0x18")) () ")"))) (| "|") (binary_expression "(((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff0000) << 0x20)" (( "(") (binary_expression "((ulong)param_7._4_4_ & 0xff0000) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff0000)" (( "(") (binary_expression "(ulong)param_7._4_4_ & 0xff0000" (cast_expression "(ulong)param_7._4_4_" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (field_expression "param_7._4_4_" (identifier "param_7") (. ".") (field_identifier "_4_4_"))) (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x20")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff00) << 0x20)" (( "(") (binary_expression "((ulong)param_7._4_4_ & 0xff00) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff00)" (( "(") (binary_expression "(ulong)param_7._4_4_ & 0xff00" (cast_expression "(ulong)param_7._4_4_" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (field_expression "param_7._4_4_" (identifier "param_7") (. ".") (field_identifier "_4_4_"))) (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x20")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8" (parenthesized_expression "(((ulong)param_7._4_4_ & 0xff) << 0x20)" (( "(") (binary_expression "((ulong)param_7._4_4_ & 0xff) << 0x20" (parenthesized_expression "((ulong)param_7._4_4_ & 0xff)" (( "(") (binary_expression "(ulong)param_7._4_4_ & 0xff" (cast_expression "(ulong)param_7._4_4_" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (field_expression "param_7._4_4_" (identifier "param_7") (. ".") (field_identifier "_4_4_"))) (& "&") (number_literal "0xff")) () ")")) (<< "<<") (number_literal "0x20")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_7 & 0xff000000) << 8" (parenthesized_expression "(param_7 & 0xff000000)" (( "(") (binary_expression "param_7 & 0xff000000" (identifier "param_7") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(param_7 & 0xff0000) << 0x18" (parenthesized_expression "(param_7 & 0xff0000)" (( "(") (binary_expression "param_7 & 0xff0000" (identifier "param_7") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(param_7 & 0xff00) << 0x28" (parenthesized_expression "(param_7 & 0xff00)" (( "(") (binary_expression "param_7 & 0xff00" (identifier "param_7") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "param_7 << 0x38" (identifier "param_7") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18;" (assignment_expression "local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18" (identifier "local_40") (= "=") (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |\n                 param_8 << 0x18" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8" (binary_expression "param_8 >> 0x18 | (param_8 & 0xff0000) >> 8" (binary_expression "param_8 >> 0x18" (identifier "param_8") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_8 & 0xff0000) >> 8" (parenthesized_expression "(param_8 & 0xff0000)" (( "(") (binary_expression "param_8 & 0xff0000" (identifier "param_8") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_8 & 0xff00) << 8" (parenthesized_expression "(param_8 & 0xff00)" (( "(") (binary_expression "param_8 & 0xff00" (identifier "param_8") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_8 << 0x18" (identifier "param_8") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18;" (assignment_expression "local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18" (identifier "local_3c") (= "=") (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |\n                 param_9 << 0x18" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8" (binary_expression "param_9 >> 0x18 | (param_9 & 0xff0000) >> 8" (binary_expression "param_9 >> 0x18" (identifier "param_9") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(param_9 & 0xff0000) >> 8" (parenthesized_expression "(param_9 & 0xff0000)" (( "(") (binary_expression "param_9 & 0xff0000" (identifier "param_9") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_9 & 0xff00) << 8" (parenthesized_expression "(param_9 & 0xff00)" (( "(") (binary_expression "param_9 & 0xff00" (identifier "param_9") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "param_9 << 0x18" (identifier "param_9") (<< "<<") (number_literal "0x18")))) (; ";")) (expression_statement "uVar4 = (ulong)param_10;" (assignment_expression "uVar4 = (ulong)param_10" (identifier "uVar4") (= "=") (cast_expression "(ulong)param_10" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_10"))) (; ";")) (expression_statement "local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;" (assignment_expression "local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (identifier "local_38") (= "=") (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18" (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" (( "(") (binary_expression "uVar4 & 0xff000000" (identifier "uVar4") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar4 << 0x38" (identifier "uVar4") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "uVar4 = (ulong)param_11;" (assignment_expression "uVar4 = (ulong)param_11" (identifier "uVar4") (= "=") (cast_expression "(ulong)param_11" (( "(") (type_descriptor "ulong" (type_identifier "ulong")) () ")") (identifier "param_11"))) (; ";")) (expression_statement "local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38;" (assignment_expression "local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (identifier "local_30") (= "=") (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |\n                 uVar4 << 0x38" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28" (binary_expression "(uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18" (binary_expression "(uVar4 & 0xff000000) << 8" (parenthesized_expression "(uVar4 & 0xff000000)" (( "(") (binary_expression "uVar4 & 0xff000000" (identifier "uVar4") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(uVar4 & 0xff0000) << 0x18" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 0x28" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar4 << 0x38" (identifier "uVar4") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;" (assignment_expression "local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38" (identifier "local_60") (= "=") (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38" (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |\n                 (param_4 & 0xff00) << 0x28" (binary_expression "(param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18" (binary_expression "(param_4 & 0xff000000) << 8" (parenthesized_expression "(param_4 & 0xff000000)" (( "(") (binary_expression "param_4 & 0xff000000" (identifier "param_4") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(param_4 & 0xff0000) << 0x18" (parenthesized_expression "(param_4 & 0xff0000)" (( "(") (binary_expression "param_4 & 0xff0000" (identifier "param_4") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(param_4 & 0xff00) << 0x28" (parenthesized_expression "(param_4 & 0xff00)" (( "(") (binary_expression "param_4 & 0xff00" (identifier "param_4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "(param_4 & 0xffffffff) << 0x38" (parenthesized_expression "(param_4 & 0xffffffff)" (( "(") (binary_expression "param_4 & 0xffffffff" (identifier "param_4") (& "&") (number_literal "0xffffffff")) () ")")) (<< "<<") (number_literal "0x38")))) (; ";")) (} "}")))) (expression_statement "sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);" (assignment_expression "sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4])" (identifier "sVar5") (= "=") (call_expression "fwrite(&local_68,1,0x40,(FILE *)param_1[4])" (identifier "fwrite") (argument_list "(&local_68,1,0x40,(FILE *)param_1[4])" (( "(") (pointer_expression "&local_68" (& "&") (identifier "local_68")) (, ",") (number_literal "1") (, ",") (number_literal "0x40") (, ",") (cast_expression "(FILE *)param_1[4]" (( "(") (type_descriptor "FILE *" (type_identifier "FILE") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "param_1[4]" (identifier "param_1") ([ "[") (number_literal "4") (] "]"))) () ")")))) (; ";")) (if_statement "if (sVar5 < 0x40) {\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }" (if "if") (parenthesized_expression "(sVar5 < 0x40)" (( "(") (binary_expression "sVar5 < 0x40" (identifier "sVar5") (< "<") (number_literal "0x40")) () ")")) (compound_statement "{\nLAB_00152025:\n      uVar1 = *param_1;\n      uVar6 = gettext("%s: error writing section header table");\n                    \n      FUN_001781e0(uVar6,uVar1);\n    }" ({ "{") (labeled_statement "LAB_00152025:\n      uVar1 = *param_1;" (statement_identifier "LAB_00152025") (: ":") (expression_statement "uVar1 = *param_1;" (assignment_expression "uVar1 = *param_1" (identifier "uVar1") (= "=") (pointer_expression "*param_1" (* "*") (identifier "param_1"))) (; ";"))) (expression_statement "uVar6 = gettext("%s: error writing section header table");" (assignment_expression "uVar6 = gettext("%s: error writing section header table")" (identifier "uVar6") (= "=") (call_expression "gettext("%s: error writing section header table")" (identifier "gettext") (argument_list "("%s: error writing section header table")" (( "(") (string_literal ""%s: error writing section header table"" (" """) (string_content "%s: error writing section header table") (" """)) () ")")))) (; ";")) (expression_statement "FUN_001781e0(uVar6,uVar1);" (call_expression "FUN_001781e0(uVar6,uVar1)" (identifier "FUN_001781e0") (argument_list "(uVar6,uVar1)" (( "(") (identifier "uVar6") (, ",") (identifier "uVar1") () ")"))) (; ";")) (} "}"))) (} "}")))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* DWARF original prototype: void write_shdr(Dwp_output_file * this, char * name, uint type, uint
   flags, uint64_t addr, off_t offset, section_size_type sect_size, uint link, uint info, uint
   align, uint ent_size) */

void __thiscall
gold::type_1::function_1
          (type_1 *this,char *var_1,type_2 var_7,type_2 var_8,uint64_t var_20,type_3 var_21,
          type_4 var_22,type_2 var_10,type_2 var_12,type_2 var_14,type_2 var_15)

{
  char *pcVar1;
  type_2 var_9;
  type_2 var_5;
  type_5 sVar4;
  type_6 var_23;
  size_t var_17;
  char *format;
  type_2 var_6;
  type_6 var_24;
  type_2 var_13;
  type_2 var_11;
  type_7 buf [64];
  
  var_24 = (type_6)var_8;
  buf._4_4_ = var_7;
  if (this->size_ == 0x20) {
    buf._0_4_ = 0;
    var_5 = (type_2)var_20;
    var_9 = (type_2)var_21;
    if (this->big_endian_ == 0) {
      if (var_1 != (char *)0x0) {
        sVar4 = var_2<var_3>::var_4(&this->shstrtab_,var_1);
        buf._0_4_ = (type_8)sVar4;
      }
      buf[0xc] = (char)var_5;
      buf[0xd] = (char)(var_5 >> 8);
      buf[0xe] = (char)(var_5 >> 0x10);
      buf[0xf] = (char)(var_5 >> 0x18);
      buf._8_4_ = var_8;
      buf._28_4_ = var_12;
      buf._24_4_ = var_10;
      buf._20_4_ = (type_2)var_22;
      buf._16_4_ = var_9;
    }
    else {
      if (var_1 != (char *)0x0) {
        sVar4 = var_2<var_3>::var_4(&this->shstrtab_,var_1);
        var_6 = (type_2)sVar4;
        buf._0_4_ = var_6 >> 0x18 | (var_6 & 0xff0000) >> 8 | (var_6 & 0xff00) << 8 | var_6 << 0x18;
      }
      buf._4_4_ = var_7 >> 0x18 | (var_7 & 0xff0000) >> 8 | (var_7 & 0xff00) << 8 | var_7 << 0x18;
      var_6 = var_8 >> 0x18 | (var_8 & 0xff0000) >> 8 | (var_8 & 0xff00) << 8 | var_8 << 0x18;
      var_11 = var_5 >> 0x18 | (var_5 & 0xff0000) >> 8 | (var_5 & 0xff00) << 8 | var_5 << 0x18;
      var_13 = var_9 >> 0x18 | (var_9 & 0xff0000) >> 8 | (var_9 & 0xff00) << 8 | var_9 << 0x18;
      var_9 = (type_2)var_22 >> 0x18 | ((type_2)var_22 & 0xff0000) >> 8 |
              ((type_2)var_22 & 0xff00) << 8 | (type_2)var_22 << 0x18;
      var_5 = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_10 << 0x18;
      buf[0xc] = (char)var_11;
      buf[0xd] = (char)(var_11 >> 8);
      buf[0xe] = (char)(var_11 >> 0x10);
      buf[0xf] = (char)(var_11 >> 0x18);
      buf[8] = (char)var_6;
      buf[9] = (char)(var_6 >> 8);
      buf[10] = (char)(var_6 >> 0x10);
      buf[0xb] = (char)(var_6 >> 0x18);
      var_6 = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 | var_12 << 0x18;
      buf[0x1c] = (char)var_6;
      buf[0x1d] = (char)(var_6 >> 8);
      buf[0x1e] = (char)(var_6 >> 0x10);
      buf[0x1f] = (char)(var_6 >> 0x18);
      buf[0x18] = (char)var_5;
      buf[0x19] = (char)(var_5 >> 8);
      buf[0x1a] = (char)(var_5 >> 0x10);
      buf[0x1b] = (char)(var_5 >> 0x18);
      buf[0x14] = (char)var_9;
      buf[0x15] = (char)(var_9 >> 8);
      buf[0x16] = (char)(var_9 >> 0x10);
      buf[0x17] = (char)(var_9 >> 0x18);
      buf[0x10] = (char)var_13;
      buf[0x11] = (char)(var_13 >> 8);
      buf[0x12] = (char)(var_13 >> 0x10);
      buf[0x13] = (char)(var_13 >> 0x18);
      var_14 = var_14 >> 0x18 | (var_14 & 0xff0000) >> 8 | (var_14 & 0xff00) << 8 | var_14 << 0x18;
      var_15 = var_15 >> 0x18 | (var_15 & 0xff0000) >> 8 | (var_15 & 0xff00) << 8 |
                 var_15 << 0x18;
    }
    buf[0x24] = (char)var_15;
    buf[0x25] = (char)(var_15 >> 8);
    buf[0x26] = (char)(var_15 >> 0x10);
    buf[0x27] = (char)(var_15 >> 0x18);
    buf[0x20] = (char)var_14;
    buf[0x21] = (char)(var_14 >> 8);
    buf[0x22] = (char)(var_14 >> 0x10);
    buf[0x23] = (char)(var_14 >> 0x18);
    var_17 = var_16(buf,1,0x28,(type_9 *)this->fd_);
    if (var_17 < 0x28) goto LAB_00152025;
  }
  else {
    if (this->size_ != 0x40) {
                    /* WARNING: Subroutine does not return */
      var_18("../../gold/dwp.cc",0x881,"write_shdr");
    }
    buf._0_4_ = 0;
    if (this->big_endian_ == 0) {
      if (var_1 != (char *)0x0) {
        sVar4 = var_2<var_3>::var_4(&this->shstrtab_,var_1);
        buf._0_4_ = (type_8)sVar4;
      }
      buf._32_8_ = var_22;
      buf._40_4_ = var_10;
      buf._44_4_ = var_12;
      buf._48_8_ = var_19(var_14);
      buf._56_8_ = var_19(var_15);
      buf._8_8_ = var_24;
      buf._16_8_ = var_20;
      buf._24_8_ = var_21;
    }
    else {
      if (var_1 != (char *)0x0) {
        sVar4 = var_2<var_3>::var_4(&this->shstrtab_,var_1);
        var_9 = (type_2)sVar4;
        buf._0_4_ = var_9 >> 0x18 | (var_9 & 0xff0000) >> 8 | (var_9 & 0xff00) << 8 | var_9 << 0x18;
      }
      buf._4_4_ = var_7 >> 0x18 | (var_7 & 0xff0000) >> 8 | (var_7 & 0xff00) << 8 | var_7 << 0x18;
      buf._16_8_ = 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;
      buf._24_8_ = (type_6)var_21 >> 0x38 | (var_21 & 0xff000000000000U) >> 0x28 |
                   (var_21 & 0xff0000000000U) >> 0x18 | (var_21 & 0xff00000000U) >> 8 |
                   (var_21 & 0xff000000U) << 8 | (var_21 & 0xff0000U) << 0x18 |
                   (var_21 & 0xff00U) << 0x28 | var_21 << 0x38;
      buf._32_8_ = var_22 >> 0x38 | (var_22 & 0xff000000000000) >> 0x28 |
                   (var_22 & 0xff0000000000) >> 0x18 | (var_22 & 0xff00000000) >> 8 |
                   (var_22 & 0xff000000) << 8 | (var_22 & 0xff0000) << 0x18 |
                   (var_22 & 0xff00) << 0x28 | var_22 << 0x38;
      buf._40_4_ = var_10 >> 0x18 | (var_10 & 0xff0000) >> 8 | (var_10 & 0xff00) << 8 | var_10 << 0x18;
      buf._44_4_ = var_12 >> 0x18 | (var_12 & 0xff0000) >> 8 | (var_12 & 0xff00) << 8 | var_12 << 0x18;
      var_23 = (type_6)var_14;
      buf._48_8_ = (var_23 & 0xff000000) << 8 | (var_23 & 0xff0000) << 0x18 | (var_23 & 0xff00) << 0x28
                   | var_23 << 0x38;
      var_23 = (type_6)var_15;
      buf._56_8_ = (var_23 & 0xff000000) << 8 | (var_23 & 0xff0000) << 0x18 | (var_23 & 0xff00) << 0x28
                   | var_23 << 0x38;
      buf._8_8_ = (var_24 & 0xff000000) << 8 | (var_24 & 0xff0000) << 0x18 | (var_24 & 0xff00) << 0x28
                  | var_24 << 0x38;
    }
    var_17 = var_16(buf,1,0x40,(type_9 *)this->fd_);
    if (var_17 < 0x40) {
LAB_00152025:
      pcVar1 = this->name_;
      format = (char *)var_25("%s: error writing section header table");
                    /* WARNING: Subroutine does not return */
      var_26(format,pcVar1);
    }
  }
  return;
}


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

void MASKED(undefined8 *param_1,long param_2,uint param_3,ulong param_4,ulong param_5,
                 ulong param_6,ulong param_7,uint param_8,uint param_9,uint param_10,uint param_11)

{
  undefined8 uVar1;
  uint uVar2;
  uint uVar3;
  ulong uVar4;
  size_t sVar5;
  undefined8 uVar6;
  uint uVar7;
  uint uVar8;
  uint local_68;
  uint local_64;
  undefined8 local_60;
  undefined8 local_58;
  undefined8 local_50;
  undefined8 local_48;
  uint local_40;
  uint local_3c;
  ulong local_38;
  ulong local_30;
  
  uVar2 = (uint)param_4;
  local_64 = param_3;
  if (*(int *)((long)param_1 + 0xc) == 0x20) {
    local_68 = 0;
    uVar8 = (uint)param_5;
    uVar7 = (uint)param_6;
    if (*(int *)(param_1 + 2) == 0) {
      if (param_2 != 0) {
        local_68 = FUN_0026df00(param_1 + 0x21);
      }
      local_60 = CONCAT44(uVar8,uVar2);
      local_50 = CONCAT44(param_9,param_8);
      local_58 = CONCAT44((uint)param_7,uVar7);
    }
    else {
      if (param_2 != 0) {
        uVar3 = FUN_0026df00(param_1 + 0x21);
        local_68 = uVar3 >> 0x18 | (uVar3 & 0xff0000) >> 8 | (uVar3 & 0xff00) << 8 | uVar3 << 0x18;
      }
      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |
                 param_3 << 0x18;
      local_60 = CONCAT44(uVar8 >> 0x18 | (uVar8 & 0xff0000) >> 8 | (uVar8 & 0xff00) << 8 |
                          uVar8 << 0x18,
                          uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 |
                          uVar2 << 0x18);
      local_50 = CONCAT44(param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |
                          param_9 << 0x18,
                          param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |
                          param_8 << 0x18);
      local_58 = CONCAT44((uint)param_7 >> 0x18 | ((uint)param_7 & 0xff0000) >> 8 |
                          ((uint)param_7 & 0xff00) << 8 | (uint)param_7 << 0x18,
                          uVar7 >> 0x18 | (uVar7 & 0xff0000) >> 8 | (uVar7 & 0xff00) << 8 |
                          uVar7 << 0x18);
      param_10 = param_10 >> 0x18 | (param_10 & 0xff0000) >> 8 | (param_10 & 0xff00) << 8 |
                 param_10 << 0x18;
      param_11 = param_11 >> 0x18 | (param_11 & 0xff0000) >> 8 | (param_11 & 0xff00) << 8 |
                 param_11 << 0x18;
    }
    local_48 = CONCAT44(param_11,param_10);
    sVar5 = fwrite(&local_68,1,0x28,(FILE *)param_1[4]);
    if (sVar5 < 0x28) goto LAB_00152025;
  }
  else {
    if (*(int *)((long)param_1 + 0xc) != 0x40) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/dwp.cc",0x881,"write_shdr");
    }
    local_68 = 0;
    if (*(int *)(param_1 + 2) == 0) {
      if (param_2 != 0) {
        local_68 = FUN_0026df00(param_1 + 0x21);
      }
      local_48 = param_7;
      local_40 = param_8;
      local_3c = param_9;
      local_38 = (ulong)param_10;
      local_30 = (ulong)param_11;
      local_60 = param_4 & 0xffffffff;
      local_58 = param_5;
      local_50 = param_6;
    }
    else {
      if (param_2 != 0) {
        uVar2 = FUN_0026df00(param_1 + 0x21);
        local_68 = uVar2 >> 0x18 | (uVar2 & 0xff0000) >> 8 | (uVar2 & 0xff00) << 8 | uVar2 << 0x18;
      }
      local_64 = param_3 >> 0x18 | (param_3 & 0xff0000) >> 8 | (param_3 & 0xff00) << 8 |
                 param_3 << 0x18;
      local_58 = param_5 >> 0x38 | (param_5 & 0xff000000000000) >> 0x28 |
                 (param_5 & 0xff0000000000) >> 0x18 | (param_5 & 0xff00000000) >> 8 |
                 (param_5 & 0xff000000) << 8 | (param_5 & 0xff0000) << 0x18 |
                 (param_5 & 0xff00) << 0x28 | param_5 << 0x38;
      local_50 = param_6 >> 0x38 | (param_6 & 0xff000000000000) >> 0x28 |
                 (param_6 & 0xff0000000000) >> 0x18 | (param_6 & 0xff00000000) >> 8 |
                 (param_6 & 0xff000000) << 8 | (param_6 & 0xff0000) << 0x18 |
                 (param_6 & 0xff00) << 0x28 | param_6 << 0x38;
      local_48 = (ulong)(param_7._4_4_ >> 0x18) |
                 (((ulong)param_7._4_4_ & 0xff0000) << 0x20) >> 0x28 |
                 (((ulong)param_7._4_4_ & 0xff00) << 0x20) >> 0x18 |
                 (((ulong)param_7._4_4_ & 0xff) << 0x20) >> 8 | (param_7 & 0xff000000) << 8 |
                 (param_7 & 0xff0000) << 0x18 | (param_7 & 0xff00) << 0x28 | param_7 << 0x38;
      local_40 = param_8 >> 0x18 | (param_8 & 0xff0000) >> 8 | (param_8 & 0xff00) << 8 |
                 param_8 << 0x18;
      local_3c = param_9 >> 0x18 | (param_9 & 0xff0000) >> 8 | (param_9 & 0xff00) << 8 |
                 param_9 << 0x18;
      uVar4 = (ulong)param_10;
      local_38 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                 uVar4 << 0x38;
      uVar4 = (ulong)param_11;
      local_30 = (uVar4 & 0xff000000) << 8 | (uVar4 & 0xff0000) << 0x18 | (uVar4 & 0xff00) << 0x28 |
                 uVar4 << 0x38;
      local_60 = (param_4 & 0xff000000) << 8 | (param_4 & 0xff0000) << 0x18 |
                 (param_4 & 0xff00) << 0x28 | (param_4 & 0xffffffff) << 0x38;
    }
    sVar5 = fwrite(&local_68,1,0x40,(FILE *)param_1[4]);
    if (sVar5 < 0x40) {
LAB_00152025:
      uVar1 = *param_1;
      uVar6 = gettext("%s: error writing section header table");
                    /* WARNING: Subroutine does not return */
      FUN_001781e0(uVar6,uVar1);
    }
  }
  return;
}

