
/* WARNING: Enum "STB": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original name: sized_write_symbol<64, true>
   DWARF original prototype: void sized_write_symbol<64,_true>(Symbol_table * this, Sized_symbol<64>
   * sym, Elf_Addr value, uint shndx, STB binding, Stringpool * pool, uchar * p) */

void __thiscall
gold::Symbol_table::sized_write_symbol<64,_true>
          (Symbol_table *this,Sized_symbol<64> *sym,Elf_Addr value,uint shndx,STB binding,
          Stringpool *pool,uchar *p)

{
  uchar uVar1;
  ulong uVar2;
  byte bVar3;
  uint uVar4;
  section_offset_type sVar5;
  Output_segment *pOVar6;
  string local_58;
  
  if ((sym->super_Symbol).version_ == (char *)0x0) {
LAB_00276707:
    sVar5 = Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_);
    uVar4 = (uint)sVar5;
    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  }
  else {
    if (parameters->options_ == (General_options *)0x0) {
                    /* WARNING: Subroutine does not return */
      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
    }
    if ((parameters->options_->relocatable_).value == false) goto LAB_00276707;
    Symbol::versioned_name(&local_58,&sym->super_Symbol);
                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */
    sVar5 = Stringpool_template<char>::get_offset_with_length
                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length);
    uVar4 = (uint)sVar5;
    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9
         *)local_58._M_dataplus._M_p != &local_58.field_2) {
      operator_delete(local_58._M_dataplus._M_p);
    }
  }
  bVar3 = (sym->super_Symbol).field_0x38;
  *(Elf_Addr *)(p + 8) =
       value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |
       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8 | (value & 0xff0000) << 0x18 |
       (value & 0xff00) << 0x28 | value << 0x38;
  bVar3 = bVar3 & 0xf;
  if (shndx == 0) {
    if (((sym->super_Symbol).field_0x3a & 7) != 0) {
      uVar2 = sym->symsize_;
      *(ulong *)(p + 0x10) =
           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
      goto LAB_00276784;
    }
    pOVar6 = (sym->super_Symbol).u1_.output_segment;
    if (((ulong)pOVar6->output_lists_[2].
                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.
                _M_finish & 0x100000000) != 0) {
      p[0x10] = '\0';
      p[0x11] = '\0';
      p[0x12] = '\0';
      p[0x13] = '\0';
      p[0x14] = '\0';
      p[0x15] = '\0';
      p[0x16] = '\0';
      p[0x17] = '\0';
      if (bVar3 != 10) goto LAB_00276784;
      goto LAB_00276751;
    }
    uVar2 = sym->symsize_;
    *(ulong *)(p + 0x10) =
         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
    if (bVar3 != 10) goto LAB_00276784;
  }
  else {
    uVar2 = sym->symsize_;
    *(ulong *)(p + 0x10) =
         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
    if ((bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)) goto LAB_00276784;
    pOVar6 = (sym->super_Symbol).u1_.output_segment;
  }
  if (((ulong)pOVar6->output_lists_[2].
              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.
              _M_finish & 0x100000000) != 0) {
LAB_00276751:
                    /* WARNING: Subroutine does not return */
    do_gold_unreachable("../../gold/symtab.cc",0xd01,"sized_write_symbol");
  }
LAB_00276784:
  if (((sym->super_Symbol).field_0x3b & 0x10) == 0) {
    bVar3 = (char)binding * '\x10' + bVar3;
  }
  p[4] = bVar3;
  uVar1 = (sym->super_Symbol).field_0x39;
  *(ushort *)(p + 6) = (ushort)shndx << 8 | (ushort)shndx >> 8;
  p[5] = uVar1;
  return;
}



void FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,
                 undefined8 param_6,uint *param_7)

{
  undefined1 uVar1;
  ulong uVar2;
  byte bVar3;
  uint uVar4;
  long lVar5;
  undefined1 *local_58;
  undefined8 local_50;
  undefined1 auStack_48 [24];
  
  if (param_2[1] == 0) {
LAB_00276707:
    uVar4 = FUN_0026df00(param_6,*param_2);
    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  }
  else {
    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
    }
    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;
    FUN_00271f90(&local_58);
                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */
    uVar4 = FUN_0026de60(param_6,local_58,local_50);
    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
    if (local_58 != auStack_48) {
      FUN_002dac60();
    }
  }
  bVar3 = *(byte *)(param_2 + 7);
  *(ulong *)(param_7 + 2) =
       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |
       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |
       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;
  bVar3 = bVar3 & 0xf;
  if (param_4 == 0) {
    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {
      uVar2 = param_2[9];
      *(ulong *)(param_7 + 4) =
           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
      goto LAB_00276784;
    }
    lVar5 = param_2[2];
    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {
      param_7[4] = 0;
      param_7[5] = 0;
      if (bVar3 != 10) goto LAB_00276784;
      goto LAB_00276751;
    }
    uVar2 = param_2[9];
    *(ulong *)(param_7 + 4) =
         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
    if (bVar3 != 10) goto LAB_00276784;
  }
  else {
    uVar2 = param_2[9];
    *(ulong *)(param_7 + 4) =
         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;
    lVar5 = param_2[2];
  }
  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {
LAB_00276751:
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");
  }
LAB_00276784:
  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {
    bVar3 = param_5 * '\x10' + bVar3;
  }
  *(byte *)(param_7 + 1) = bVar3;
  uVar1 = *(undefined1 *)((long)param_2 + 0x39);
  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;
  *(undefined1 *)((long)param_7 + 5) = uVar1;
  return;
}


PUSH R15
PUSH R14
MOV R14,RDX
PUSH R13
MOV R13D,ECX
PUSH R12
PUSH RBP
MOV EBP,R8D
PUSH RBX
MOV RBX,RSI
SUB RSP,0x38
CMP qword ptr [RSI + 0x8],0x0
MOV R12,qword ptr [RSP + 0x70]
JZ 0x00276707
MOV RAX,qword ptr [0x0043e6b0]
MOV RAX,qword ptr [RAX + 0x10]
TEST RAX,RAX
JZ 0x00276860
CMP byte ptr [RAX + 0x5051],0x0
JNZ 0x002767c0
MOV RSI,qword ptr [RBX]
MOV RDI,R9
CALL 0x0026df00
BSWAP EAX
MOV dword ptr [R12],EAX
MOVZX EAX,byte ptr [RBX + 0x38]
BSWAP R14
MOV qword ptr [R12 + 0x8],R14
AND EAX,0xf
TEST R13D,R13D
JNZ 0x00276770
TEST byte ptr [RBX + 0x3a],0x7
JNZ 0x00276810
MOV RDX,qword ptr [RBX + 0x10]
TEST byte ptr [RDX + 0x3c],0x1
JZ 0x00276828
MOV qword ptr [R12 + 0x10],0x0
CMP AL,0xa
JNZ 0x00276784
LEA RDX,[0x386e50]
MOV ESI,0xd01
LEA RDI,[0x386771]
CALL 0x0017c650
MOV RDX,qword ptr [RBX + 0x48]
BSWAP RDX
MOV qword ptr [R12 + 0x10],RDX
CMP AL,0xa
JZ 0x00276850
SHL EBP,0x4
ADD EBP,EAX
TEST byte ptr [RBX + 0x3b],0x10
CMOVZ EAX,EBP
ROL R13W,0x8
MOV byte ptr [R12 + 0x4],AL
MOVZX EAX,byte ptr [RBX + 0x39]
MOV word ptr [R12 + 0x6],R13W
MOV byte ptr [R12 + 0x5],AL
ADD RSP,0x38
POP RBX
POP RBP
POP R12
POP R13
POP R14
POP R15
RET
LEA R15,[RSP + 0x10]
MOV qword ptr [RSP + 0x8],R9
MOV RDI,R15
CALL 0x00271f90
MOV R9,qword ptr [RSP + 0x8]
MOV RDX,qword ptr [RSP + 0x18]
MOV RSI,qword ptr [RSP + 0x10]
MOV RDI,R9
CALL 0x0026de60
MOV RDI,qword ptr [RSP + 0x10]
ADD R15,0x10
BSWAP EAX
MOV dword ptr [R12],EAX
CMP RDI,R15
JZ 0x00276718
CALL 0x002dac60
JMP 0x00276718
MOV RDX,qword ptr [RBX + 0x48]
BSWAP RDX
MOV qword ptr [R12 + 0x10],RDX
JMP 0x00276784
MOV RCX,qword ptr [RBX + 0x48]
BSWAP RCX
MOV qword ptr [R12 + 0x10],RCX
CMP AL,0xa
JNZ 0x00276784
TEST byte ptr [RDX + 0x3c],0x1
JZ 0x00276784
JMP 0x00276751
TEST byte ptr [RBX + 0x3a],0x7
JNZ 0x00276784
MOV RDX,qword ptr [RBX + 0x10]
JMP 0x0027683c
LEA RDX,[0x387528]
MOV ESI,0x5c
LEA RDI,[0x3726d0]
CALL 0x0017c650
(translation_unit "void FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)\n\n{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}\n\n" (function_definition "void FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)\n\n{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}" primitive_type (function_declarator "FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)" identifier (parameter_list "(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "ulong param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "char param_5" primitive_type identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined1 auStack_48 [24];" type_identifier (array_declarator "auStack_48 [24]" identifier [ number_literal ]) ;) (if_statement "if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" if (parenthesized_expression "(param_2[1] == 0)" ( (binary_expression "param_2[1] == 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }" { (labeled_statement "LAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);" statement_identifier : (expression_statement "uVar4 = FUN_0026df00(param_6,*param_2);" (assignment_expression "uVar4 = FUN_0026df00(param_6,*param_2)" identifier = (call_expression "FUN_0026df00(param_6,*param_2)" identifier (argument_list "(param_6,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) )))) ;)) (expression_statement "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*param_7" * identifier) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" else (compound_statement "{\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" { comment (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00276707;" goto statement_identifier ;)) (expression_statement "FUN_00271f90(&local_58);" (call_expression "FUN_00271f90(&local_58)" identifier (argument_list "(&local_58)" ( (pointer_expression "&local_58" & identifier) ))) ;) comment (expression_statement "uVar4 = FUN_0026de60(param_6,local_58,local_50);" (assignment_expression "uVar4 = FUN_0026de60(param_6,local_58,local_50)" identifier = (call_expression "FUN_0026de60(param_6,local_58,local_50)" identifier (argument_list "(param_6,local_58,local_50)" ( identifier , identifier , identifier )))) ;) (expression_statement "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*param_7" * identifier) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (if_statement "if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_58 != auStack_48)" ( (binary_expression "local_58 != auStack_48" identifier != identifier) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "bVar3 = *(byte *)(param_2 + 7);" (assignment_expression "bVar3 = *(byte *)(param_2 + 7)" identifier = (pointer_expression "*(byte *)(param_2 + 7)" * (cast_expression "(byte *)(param_2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 7)" ( (binary_expression "param_2 + 7" identifier + number_literal) ))))) ;) (expression_statement "*(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38" (pointer_expression "*(ulong *)(param_7 + 2)" * (cast_expression "(ulong *)(param_7 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 2)" ( (binary_expression "param_7 + 2" identifier + number_literal) )))) = (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28" (binary_expression "param_3 >> 0x38" identifier >> number_literal) | (binary_expression "(param_3 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_3 & 0xff000000000000)" ( (binary_expression "param_3 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_3 & 0xff0000000000)" ( (binary_expression "param_3 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff00000000) >> 8" (parenthesized_expression "(param_3 & 0xff00000000)" ( (binary_expression "param_3 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff000000) << 8" (parenthesized_expression "(param_3 & 0xff000000)" ( (binary_expression "param_3 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_3 & 0xff0000) << 0x18" (parenthesized_expression "(param_3 & 0xff0000)" ( (binary_expression "param_3 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_3 & 0xff00) << 0x28" (parenthesized_expression "(param_3 & 0xff00)" ( (binary_expression "param_3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_3 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar3 = bVar3 & 0xf;" (assignment_expression "bVar3 = bVar3 & 0xf" identifier = (binary_expression "bVar3 & 0xf" identifier & number_literal)) ;) (if_statement "if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }" { (if_statement "if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" if (parenthesized_expression "((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)((long)param_2 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_2 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_2 + 0x3a)" * (cast_expression "(byte *)((long)param_2 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x3a)" ( (binary_expression "(long)param_2 + 0x3a" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" { (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" identifier = (subscript_expression "param_2[9]" identifier [ number_literal ])) ;) (expression_statement "*(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" * (cast_expression "(ulong *)(param_7 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 4)" ( (binary_expression "param_7 + 4" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (goto_statement "goto LAB_00276784;" goto statement_identifier ;) })) (expression_statement "lVar5 = param_2[2];" (assignment_expression "lVar5 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" if (parenthesized_expression "((*(byte *)(lVar5 + 0x3c) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x3c) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x3c) & 1)" ( (binary_expression "*(byte *)(lVar5 + 0x3c) & 1" (pointer_expression "*(byte *)(lVar5 + 0x3c)" * (cast_expression "(byte *)(lVar5 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x3c)" ( (binary_expression "lVar5 + 0x3c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" { (expression_statement "param_7[4] = 0;" (assignment_expression "param_7[4] = 0" (subscript_expression "param_7[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[5] = 0;" (assignment_expression "param_7[5] = 0" (subscript_expression "param_7[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (bVar3 != 10) goto LAB_00276784;" if (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) (goto_statement "goto LAB_00276751;" goto statement_identifier ;) })) (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" identifier = (subscript_expression "param_2[9]" identifier [ number_literal ])) ;) (expression_statement "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" * (cast_expression "(ulong *)(param_7 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 4)" ( (binary_expression "param_7 + 4" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (if_statement "if (bVar3 != 10) goto LAB_00276784;" if (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) }) (else_clause "else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" else (compound_statement "{\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" { (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" identifier = (subscript_expression "param_2[9]" identifier [ number_literal ])) ;) (expression_statement "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" * (cast_expression "(ulong *)(param_7 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 4)" ( (binary_expression "param_7 + 4" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (if_statement "if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;" if (parenthesized_expression "((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0))" ( (binary_expression "(bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) || (parenthesized_expression "((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)((long)param_2 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_2 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_2 + 0x3a)" * (cast_expression "(byte *)((long)param_2 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x3a)" ( (binary_expression "(long)param_2 + 0x3a" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) (expression_statement "lVar5 = param_2[2];" (assignment_expression "lVar5 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) }))) (if_statement "if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" if (parenthesized_expression "((*(byte *)(lVar5 + 0x3c) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x3c) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x3c) & 1)" ( (binary_expression "*(byte *)(lVar5 + 0x3c) & 1" (pointer_expression "*(byte *)(lVar5 + 0x3c)" * (cast_expression "(byte *)(lVar5 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x3c)" ( (binary_expression "lVar5 + 0x3c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" { (labeled_statement "LAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");" statement_identifier : comment (expression_statement "FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");" (call_expression "FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol")" identifier (argument_list "("../../gold/symtab.cc",0xd01,"sized_write_symbol")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_symbol"" " string_content ") ))) ;)) })) (labeled_statement "LAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" statement_identifier : (if_statement "if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" if (parenthesized_expression "((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)param_2 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)param_2 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)param_2 + 0x3b)" * (cast_expression "(byte *)((long)param_2 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x3b)" ( (binary_expression "(long)param_2 + 0x3b" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" { (expression_statement "bVar3 = param_5 * '\x10' + bVar3;" (assignment_expression "bVar3 = param_5 * '\x10' + bVar3" identifier = (binary_expression "param_5 * '\x10' + bVar3" (binary_expression "param_5 * '\x10'" identifier * (char_literal "'\x10'" ' escape_sequence ')) + identifier)) ;) }))) (expression_statement "*(byte *)(param_7 + 1) = bVar3;" (assignment_expression "*(byte *)(param_7 + 1) = bVar3" (pointer_expression "*(byte *)(param_7 + 1)" * (cast_expression "(byte *)(param_7 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 1)" ( (binary_expression "param_7 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = *(undefined1 *)((long)param_2 + 0x39);" (assignment_expression "uVar1 = *(undefined1 *)((long)param_2 + 0x39)" identifier = (pointer_expression "*(undefined1 *)((long)param_2 + 0x39)" * (cast_expression "(undefined1 *)((long)param_2 + 0x39)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x39)" ( (binary_expression "(long)param_2 + 0x39" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;" (assignment_expression "*(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8" (pointer_expression "*(ushort *)((long)param_7 + 6)" * (cast_expression "(ushort *)((long)param_7 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_7 + 6)" ( (binary_expression "(long)param_7 + 6" (cast_expression "(long)param_7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "(ushort)param_4 << 8 | (ushort)param_4 >> 8" (binary_expression "(ushort)param_4 << 8" (cast_expression "(ushort)param_4" ( (type_descriptor "ushort" type_identifier) ) identifier) << number_literal) | (binary_expression "(ushort)param_4 >> 8" (cast_expression "(ushort)param_4" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal))) ;) (expression_statement "*(undefined1 *)((long)param_7 + 5) = uVar1;" (assignment_expression "*(undefined1 *)((long)param_7 + 5) = uVar1" (pointer_expression "*(undefined1 *)((long)param_7 + 5)" * (cast_expression "(undefined1 *)((long)param_7 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_7 + 5)" ( (binary_expression "(long)param_7 + 5" (cast_expression "(long)param_7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Enum "STB": Some values do not have unique names */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original name: sized_write_symbol<64, true>\n   DWARF original prototype: void sized_write_symbol<64,_true>(Symbol_table * this, Sized_symbol<64>\n   * sym, Elf_Addr value, uint shndx, STB binding, Stringpool * pool, uchar * p) */\n\nvoid __thiscall\ngold::Symbol_table::sized_write_symbol<64,_true>\n          (Symbol_table *this,Sized_symbol<64> *sym,Elf_Addr value,uint shndx,STB binding,\n          Stringpool *pool,uchar *p)\n\n{\n  uchar uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  section_offset_type sVar5;\n  Output_segment *pOVar6;\n  string local_58;\n  \n  if ((sym->super_Symbol).version_ == (char *)0x0) {\nLAB_00276707:\n    sVar5 = Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_);\n    uVar4 = (uint)sVar5;\n    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->relocatable_).value == false) goto LAB_00276707;\n    Symbol::versioned_name(&local_58,&sym->super_Symbol);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    sVar5 = Stringpool_template<char>::get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length);\n    uVar4 = (uint)sVar5;\n    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2) {\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }\n  bVar3 = (sym->super_Symbol).field_0x38;\n  *(Elf_Addr *)(p + 8) =\n       value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8 | (value & 0xff0000) << 0x18 |\n       (value & 0xff00) << 0x28 | value << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (shndx == 0) {\n    if (((sym->super_Symbol).field_0x3a & 7) != 0) {\n      uVar2 = sym->symsize_;\n      *(ulong *)(p + 0x10) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    pOVar6 = (sym->super_Symbol).u1_.output_segment;\n    if (((ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000) != 0) {\n      p[0x10] = '\0';\n      p[0x11] = '\0';\n      p[0x12] = '\0';\n      p[0x13] = '\0';\n      p[0x14] = '\0';\n      p[0x15] = '\0';\n      p[0x16] = '\0';\n      p[0x17] = '\0';\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = sym->symsize_;\n    *(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = sym->symsize_;\n    *(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)) goto LAB_00276784;\n    pOVar6 = (sym->super_Symbol).u1_.output_segment;\n  }\n  if (((ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n              _M_finish & 0x100000000) != 0) {\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if (((sym->super_Symbol).field_0x3b & 0x10) == 0) {\n    bVar3 = (char)binding * '\x10' + bVar3;\n  }\n  p[4] = bVar3;\n  uVar1 = (sym->super_Symbol).field_0x39;\n  *(ushort *)(p + 6) = (ushort)shndx << 8 | (ushort)shndx >> 8;\n  p[5] = uVar1;\n  return;\n}\n\n" comment comment comment (declaration "void __thiscall\ngold::Symbol_table::sized_write_symbol<64,_true>\n          (Symbol_table *this,Sized_symbol<64> *sym,Elf_Addr value,uint shndx,STB binding,\n          Stringpool *pool,uchar *p)\n\n{\n  uchar uVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "gold::Symbol_table::" identifier : : identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_true>\n          (Symbol_table *this,Sized_symbol<64> *sym,Elf_Addr value,uint shndx,STB binding,\n          Stringpool *pool,uchar *p)\n\n{\n  uchar" (function_declarator "_true>\n          (Symbol_table *this,Sized_symbol<64> *sym,Elf_Addr value,uint shndx,STB binding,\n          Stringpool *pool,uchar *p)" identifier (ERROR ">" >) (parameter_list "(Symbol_table *this,Sized_symbol<64> *sym,Elf_Addr value,uint shndx,STB binding,\n          Stringpool *pool,uchar *p)" ( (parameter_declaration "Symbol_table *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Sized_symbol<64> *sym" type_identifier (ERROR "<64>" < number_literal >) (pointer_declarator "*sym" * identifier)) , (parameter_declaration "Elf_Addr value" type_identifier identifier) , (parameter_declaration "uint shndx" type_identifier identifier) , (parameter_declaration "STB binding" type_identifier identifier) , (parameter_declaration "Stringpool *pool" type_identifier (pointer_declarator "*pool" * identifier)) , (parameter_declaration "uchar *p" type_identifier (pointer_declarator "*p" * identifier)) ))) { identifier) identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "section_offset_type sVar5;" type_identifier identifier ;) (declaration "Output_segment *pOVar6;" type_identifier (pointer_declarator "*pOVar6" * identifier) ;) (declaration "string local_58;" type_identifier identifier ;) (if_statement "if ((sym->super_Symbol).version_ == (char *)0x0) {\nLAB_00276707:\n    sVar5 = Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_);\n    uVar4 = (uint)sVar5;\n    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->relocatable_).value == false) goto LAB_00276707;\n    Symbol::versioned_name(&local_58,&sym->super_Symbol);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    sVar5 = Stringpool_template<char>::get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length);\n    uVar4 = (uint)sVar5;\n    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2) {\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }" if (parenthesized_expression "((sym->super_Symbol).version_ == (char *)0x0)" ( (binary_expression "(sym->super_Symbol).version_ == (char *)0x0" (field_expression "(sym->super_Symbol).version_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00276707:\n    sVar5 = Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_);\n    uVar4 = (uint)sVar5;\n    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }" { (labeled_statement "LAB_00276707:\n    sVar5 = Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_);" statement_identifier : (expression_statement "sVar5 = Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_);" (assignment_expression "sVar5 = Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_)" identifier = (binary_expression "Stringpool_template<char>::get_offset(pool,(sym->super_Symbol).name_)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "get_offset(pool,(sym->super_Symbol).name_)" identifier (argument_list "(pool,(sym->super_Symbol).name_)" ( identifier , (field_expression "(sym->super_Symbol).name_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) ))))) ;)) (expression_statement "uVar4 = (uint)sVar5;" (assignment_expression "uVar4 = (uint)sVar5" identifier = (cast_expression "(uint)sVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)p" * (cast_expression "(uint *)p" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->relocatable_).value == false) goto LAB_00276707;\n    Symbol::versioned_name(&local_58,&sym->super_Symbol);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    sVar5 = Stringpool_template<char>::get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length);\n    uVar4 = (uint)sVar5;\n    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2) {\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }" else (compound_statement "{\n    if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }\n    if ((parameters->options_->relocatable_).value == false) goto LAB_00276707;\n    Symbol::versioned_name(&local_58,&sym->super_Symbol);\n                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */\n    sVar5 = Stringpool_template<char>::get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length);\n    uVar4 = (uint)sVar5;\n    *(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2) {\n      operator_delete(local_58._M_dataplus._M_p);\n    }\n  }" { (if_statement "if (parameters->options_ == (General_options *)0x0) {\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(parameters->options_ == (General_options *)0x0)" ( (binary_expression "parameters->options_ == (General_options *)0x0" (field_expression "parameters->options_" identifier -> field_identifier) == (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n    }" { comment (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if ((parameters->options_->relocatable_).value == false) goto LAB_00276707;" if (parenthesized_expression "((parameters->options_->relocatable_).value == false)" ( (binary_expression "(parameters->options_->relocatable_).value == false" (field_expression "(parameters->options_->relocatable_).value" (parenthesized_expression "(parameters->options_->relocatable_)" ( (field_expression "parameters->options_->relocatable_" (field_expression "parameters->options_" identifier -> field_identifier) -> field_identifier) )) . field_identifier) == false) )) (goto_statement "goto LAB_00276707;" goto statement_identifier ;)) (labeled_statement "Symbol::versioned_name(&local_58,&sym->super_Symbol);" statement_identifier : (ERROR ":" :) (expression_statement "versioned_name(&local_58,&sym->super_Symbol);" (call_expression "versioned_name(&local_58,&sym->super_Symbol)" identifier (argument_list "(&local_58,&sym->super_Symbol)" ( (pointer_expression "&local_58" & identifier) , (pointer_expression "&sym->super_Symbol" & (field_expression "sym->super_Symbol" identifier -> field_identifier)) ))) ;)) comment (expression_statement "sVar5 = Stringpool_template<char>::get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length);" (assignment_expression "sVar5 = Stringpool_template<char>::get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length)" identifier = (binary_expression "Stringpool_template<char>::get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length)" (binary_expression "Stringpool_template<char" identifier < identifier) > (ERROR "::" : :) (call_expression "get_offset_with_length\n                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length)" identifier (argument_list "(pool,local_58._M_dataplus._M_p,local_58._M_string_length)" ( identifier , (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier) , (field_expression "local_58._M_string_length" identifier . field_identifier) ))))) ;) (expression_statement "uVar4 = (uint)sVar5;" (assignment_expression "uVar4 = (uint)sVar5" identifier = (cast_expression "(uint)sVar5" ( (type_descriptor "uint" type_identifier) ) identifier)) ;) (expression_statement "*(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*(uint *)p = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*(uint *)p" * (cast_expression "(uint *)p" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (if_statement "if ((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2) {\n      operator_delete(local_58._M_dataplus._M_p);\n    }" if (parenthesized_expression "((anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2)" ( (parenthesized_expression "(anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2)" ( (ERROR "anon_union_16_2_edb7204a_for_basic_string<char,_std::char_traits<char>,_std::" (comma_expression "anon_union_16_2_edb7204a_for_basic_string<char,_std" (binary_expression "anon_union_16_2_edb7204a_for_basic_string<char" identifier < identifier) , identifier) : : (binary_expression "char_traits<char>,_std" (binary_expression "char_traits<char" identifier < identifier) > (ERROR "," ,) identifier) : :) (binary_expression "allocator<char>_>_9\n         *)local_58._M_dataplus._M_p != &local_58.field_2" (binary_expression "allocator<char>_>_9\n         *)local_58._M_dataplus._M_p" (binary_expression "allocator<char>_" (binary_expression "allocator<char" identifier < identifier) > identifier) > (binary_expression "_9\n         *)local_58._M_dataplus._M_p" identifier * (ERROR ")" )) (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier))) != (pointer_expression "&local_58.field_2" & (field_expression "local_58.field_2" identifier . field_identifier))) )) )) (compound_statement "{\n      operator_delete(local_58._M_dataplus._M_p);\n    }" { (expression_statement "operator_delete(local_58._M_dataplus._M_p);" (call_expression "operator_delete(local_58._M_dataplus._M_p)" identifier (argument_list "(local_58._M_dataplus._M_p)" ( (field_expression "local_58._M_dataplus._M_p" (field_expression "local_58._M_dataplus" identifier . field_identifier) . field_identifier) ))) ;) })) }))) (expression_statement "bVar3 = (sym->super_Symbol).field_0x38;" (assignment_expression "bVar3 = (sym->super_Symbol).field_0x38" identifier = (field_expression "(sym->super_Symbol).field_0x38" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(Elf_Addr *)(p + 8) =\n       value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8 | (value & 0xff0000) << 0x18 |\n       (value & 0xff00) << 0x28 | value << 0x38;" (assignment_expression "*(Elf_Addr *)(p + 8) =\n       value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8 | (value & 0xff0000) << 0x18 |\n       (value & 0xff00) << 0x28 | value << 0x38" (pointer_expression "*(Elf_Addr *)(p + 8)" * (cast_expression "(Elf_Addr *)(p + 8)" ( (type_descriptor "Elf_Addr *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p + 8)" ( (binary_expression "p + 8" identifier + number_literal) )))) = (binary_expression "value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8 | (value & 0xff0000) << 0x18 |\n       (value & 0xff00) << 0x28 | value << 0x38" (binary_expression "value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8 | (value & 0xff0000) << 0x18 |\n       (value & 0xff00) << 0x28" (binary_expression "value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8 | (value & 0xff0000) << 0x18" (binary_expression "value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8 | (value & 0xff000000) << 8" (binary_expression "value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18 |\n       (value & 0xff00000000) >> 8" (binary_expression "value >> 0x38 | (value & 0xff000000000000) >> 0x28 | (value & 0xff0000000000) >> 0x18" (binary_expression "value >> 0x38 | (value & 0xff000000000000) >> 0x28" (binary_expression "value >> 0x38" identifier >> number_literal) | (binary_expression "(value & 0xff000000000000) >> 0x28" (parenthesized_expression "(value & 0xff000000000000)" ( (binary_expression "value & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(value & 0xff0000000000) >> 0x18" (parenthesized_expression "(value & 0xff0000000000)" ( (binary_expression "value & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(value & 0xff00000000) >> 8" (parenthesized_expression "(value & 0xff00000000)" ( (binary_expression "value & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(value & 0xff000000) << 8" (parenthesized_expression "(value & 0xff000000)" ( (binary_expression "value & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(value & 0xff0000) << 0x18" (parenthesized_expression "(value & 0xff0000)" ( (binary_expression "value & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(value & 0xff00) << 0x28" (parenthesized_expression "(value & 0xff00)" ( (binary_expression "value & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "value << 0x38" identifier << number_literal))) ;) (expression_statement "bVar3 = bVar3 & 0xf;" (assignment_expression "bVar3 = bVar3 & 0xf" identifier = (binary_expression "bVar3 & 0xf" identifier & number_literal)) ;) (if_statement "if (shndx == 0) {\n    if (((sym->super_Symbol).field_0x3a & 7) != 0) {\n      uVar2 = sym->symsize_;\n      *(ulong *)(p + 0x10) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    pOVar6 = (sym->super_Symbol).u1_.output_segment;\n    if (((ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000) != 0) {\n      p[0x10] = '\0';\n      p[0x11] = '\0';\n      p[0x12] = '\0';\n      p[0x13] = '\0';\n      p[0x14] = '\0';\n      p[0x15] = '\0';\n      p[0x16] = '\0';\n      p[0x17] = '\0';\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = sym->symsize_;\n    *(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = sym->symsize_;\n    *(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)) goto LAB_00276784;\n    pOVar6 = (sym->super_Symbol).u1_.output_segment;\n  }" if (parenthesized_expression "(shndx == 0)" ( (binary_expression "shndx == 0" identifier == number_literal) )) (compound_statement "{\n    if (((sym->super_Symbol).field_0x3a & 7) != 0) {\n      uVar2 = sym->symsize_;\n      *(ulong *)(p + 0x10) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    pOVar6 = (sym->super_Symbol).u1_.output_segment;\n    if (((ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000) != 0) {\n      p[0x10] = '\0';\n      p[0x11] = '\0';\n      p[0x12] = '\0';\n      p[0x13] = '\0';\n      p[0x14] = '\0';\n      p[0x15] = '\0';\n      p[0x16] = '\0';\n      p[0x17] = '\0';\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = sym->symsize_;\n    *(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }" { (if_statement "if (((sym->super_Symbol).field_0x3a & 7) != 0) {\n      uVar2 = sym->symsize_;\n      *(ulong *)(p + 0x10) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" if (parenthesized_expression "(((sym->super_Symbol).field_0x3a & 7) != 0)" ( (binary_expression "((sym->super_Symbol).field_0x3a & 7) != 0" (parenthesized_expression "((sym->super_Symbol).field_0x3a & 7)" ( (binary_expression "(sym->super_Symbol).field_0x3a & 7" (field_expression "(sym->super_Symbol).field_0x3a" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar2 = sym->symsize_;\n      *(ulong *)(p + 0x10) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" { (expression_statement "uVar2 = sym->symsize_;" (assignment_expression "uVar2 = sym->symsize_" identifier = (field_expression "sym->symsize_" identifier -> field_identifier)) ;) (expression_statement "*(ulong *)(p + 0x10) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(p + 0x10) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(p + 0x10)" * (cast_expression "(ulong *)(p + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p + 0x10)" ( (binary_expression "p + 0x10" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (goto_statement "goto LAB_00276784;" goto statement_identifier ;) })) (expression_statement "pOVar6 = (sym->super_Symbol).u1_.output_segment;" (assignment_expression "pOVar6 = (sym->super_Symbol).u1_.output_segment" identifier = (field_expression "(sym->super_Symbol).u1_.output_segment" (field_expression "(sym->super_Symbol).u1_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) (if_statement "if (((ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000) != 0) {\n      p[0x10] = '\0';\n      p[0x11] = '\0';\n      p[0x12] = '\0';\n      p[0x13] = '\0';\n      p[0x14] = '\0';\n      p[0x15] = '\0';\n      p[0x16] = '\0';\n      p[0x17] = '\0';\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" if (parenthesized_expression "(((ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000) != 0)" ( (binary_expression "((ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000) != 0" (parenthesized_expression "((ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000)" ( (binary_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish & 0x100000000" (field_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n                _M_finish" (field_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl" (binary_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold::Output_data*,_std" (binary_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base<gold" (cast_expression "(ulong)pOVar6->output_lists_[2].\n                super__Vector_base" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pOVar6->output_lists_[2].\n                super__Vector_base" (subscript_expression "pOVar6->output_lists_[2]" (field_expression "pOVar6->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      p[0x10] = '\0';\n      p[0x11] = '\0';\n      p[0x12] = '\0';\n      p[0x13] = '\0';\n      p[0x14] = '\0';\n      p[0x15] = '\0';\n      p[0x16] = '\0';\n      p[0x17] = '\0';\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" { (expression_statement "p[0x10] = '\0';" (assignment_expression "p[0x10] = '\0'" (subscript_expression "p[0x10]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x11] = '\0';" (assignment_expression "p[0x11] = '\0'" (subscript_expression "p[0x11]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x12] = '\0';" (assignment_expression "p[0x12] = '\0'" (subscript_expression "p[0x12]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x13] = '\0';" (assignment_expression "p[0x13] = '\0'" (subscript_expression "p[0x13]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x14] = '\0';" (assignment_expression "p[0x14] = '\0'" (subscript_expression "p[0x14]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x15] = '\0';" (assignment_expression "p[0x15] = '\0'" (subscript_expression "p[0x15]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x16] = '\0';" (assignment_expression "p[0x16] = '\0'" (subscript_expression "p[0x16]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "p[0x17] = '\0';" (assignment_expression "p[0x17] = '\0'" (subscript_expression "p[0x17]" identifier [ number_literal ]) = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (bVar3 != 10) goto LAB_00276784;" if (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) (goto_statement "goto LAB_00276751;" goto statement_identifier ;) })) (expression_statement "uVar2 = sym->symsize_;" (assignment_expression "uVar2 = sym->symsize_" identifier = (field_expression "sym->symsize_" identifier -> field_identifier)) ;) (expression_statement "*(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(p + 0x10)" * (cast_expression "(ulong *)(p + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p + 0x10)" ( (binary_expression "p + 0x10" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (if_statement "if (bVar3 != 10) goto LAB_00276784;" if (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) }) (else_clause "else {\n    uVar2 = sym->symsize_;\n    *(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)) goto LAB_00276784;\n    pOVar6 = (sym->super_Symbol).u1_.output_segment;\n  }" else (compound_statement "{\n    uVar2 = sym->symsize_;\n    *(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)) goto LAB_00276784;\n    pOVar6 = (sym->super_Symbol).u1_.output_segment;\n  }" { (expression_statement "uVar2 = sym->symsize_;" (assignment_expression "uVar2 = sym->symsize_" identifier = (field_expression "sym->symsize_" identifier -> field_identifier)) ;) (expression_statement "*(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(p + 0x10) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(p + 0x10)" * (cast_expression "(ulong *)(p + 0x10)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p + 0x10)" ( (binary_expression "p + 0x10" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (if_statement "if ((bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)) goto LAB_00276784;" if (parenthesized_expression "((bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0))" ( (binary_expression "(bVar3 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)" (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) || (parenthesized_expression "(((sym->super_Symbol).field_0x3a & 7) != 0)" ( (binary_expression "((sym->super_Symbol).field_0x3a & 7) != 0" (parenthesized_expression "((sym->super_Symbol).field_0x3a & 7)" ( (binary_expression "(sym->super_Symbol).field_0x3a & 7" (field_expression "(sym->super_Symbol).field_0x3a" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) (expression_statement "pOVar6 = (sym->super_Symbol).u1_.output_segment;" (assignment_expression "pOVar6 = (sym->super_Symbol).u1_.output_segment" identifier = (field_expression "(sym->super_Symbol).u1_.output_segment" (field_expression "(sym->super_Symbol).u1_" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) . field_identifier)) ;) }))) (if_statement "if (((ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n              _M_finish & 0x100000000) != 0) {\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" if (parenthesized_expression "(((ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n              _M_finish & 0x100000000) != 0)" ( (binary_expression "((ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n              _M_finish & 0x100000000) != 0" (parenthesized_expression "((ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n              _M_finish & 0x100000000)" ( (binary_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n              _M_finish & 0x100000000" (field_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl.\n              _M_finish" (field_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_>._M_impl" (binary_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold::Output_data*>_" (binary_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std::allocator<gold" (binary_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold::Output_data*,_std" (binary_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base<gold" (cast_expression "(ulong)pOVar6->output_lists_[2].\n              super__Vector_base" ( (type_descriptor "ulong" type_identifier) ) (field_expression "pOVar6->output_lists_[2].\n              super__Vector_base" (subscript_expression "pOVar6->output_lists_[2]" (field_expression "pOVar6->output_lists_" identifier -> field_identifier) [ number_literal ]) . field_identifier)) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR "," ,) identifier) (ERROR "::allocator" : : identifier) < identifier) (ERROR "::Output_data" : : identifier) * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" { (labeled_statement "LAB_00276751:\n                    /* WARNING: Subroutine does not return */\n    do_gold_unreachable("../../gold/symtab.cc",0xd01,"sized_write_symbol");" statement_identifier : comment (expression_statement "do_gold_unreachable("../../gold/symtab.cc",0xd01,"sized_write_symbol");" (call_expression "do_gold_unreachable("../../gold/symtab.cc",0xd01,"sized_write_symbol")" identifier (argument_list "("../../gold/symtab.cc",0xd01,"sized_write_symbol")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_symbol"" " string_content ") ))) ;)) })) (labeled_statement "LAB_00276784:\n  if (((sym->super_Symbol).field_0x3b & 0x10) == 0) {\n    bVar3 = (char)binding * '\x10' + bVar3;\n  }" statement_identifier : (if_statement "if (((sym->super_Symbol).field_0x3b & 0x10) == 0) {\n    bVar3 = (char)binding * '\x10' + bVar3;\n  }" if (parenthesized_expression "(((sym->super_Symbol).field_0x3b & 0x10) == 0)" ( (binary_expression "((sym->super_Symbol).field_0x3b & 0x10) == 0" (parenthesized_expression "((sym->super_Symbol).field_0x3b & 0x10)" ( (binary_expression "(sym->super_Symbol).field_0x3b & 0x10" (field_expression "(sym->super_Symbol).field_0x3b" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n    bVar3 = (char)binding * '\x10' + bVar3;\n  }" { (expression_statement "bVar3 = (char)binding * '\x10' + bVar3;" (assignment_expression "bVar3 = (char)binding * '\x10' + bVar3" identifier = (binary_expression "(char)binding * '\x10' + bVar3" (binary_expression "(char)binding * '\x10'" (cast_expression "(char)binding" ( (type_descriptor "char" primitive_type) ) identifier) * (char_literal "'\x10'" ' escape_sequence ')) + identifier)) ;) }))) (expression_statement "p[4] = bVar3;" (assignment_expression "p[4] = bVar3" (subscript_expression "p[4]" identifier [ number_literal ]) = identifier) ;) (expression_statement "uVar1 = (sym->super_Symbol).field_0x39;" (assignment_expression "uVar1 = (sym->super_Symbol).field_0x39" identifier = (field_expression "(sym->super_Symbol).field_0x39" (parenthesized_expression "(sym->super_Symbol)" ( (field_expression "sym->super_Symbol" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "*(ushort *)(p + 6) = (ushort)shndx << 8 | (ushort)shndx >> 8;" (assignment_expression "*(ushort *)(p + 6) = (ushort)shndx << 8 | (ushort)shndx >> 8" (pointer_expression "*(ushort *)(p + 6)" * (cast_expression "(ushort *)(p + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(p + 6)" ( (binary_expression "p + 6" identifier + number_literal) )))) = (binary_expression "(ushort)shndx << 8 | (ushort)shndx >> 8" (binary_expression "(ushort)shndx << 8" (cast_expression "(ushort)shndx" ( (type_descriptor "ushort" type_identifier) ) identifier) << number_literal) | (binary_expression "(ushort)shndx >> 8" (cast_expression "(ushort)shndx" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal))) ;) (expression_statement "p[5] = uVar1;" (assignment_expression "p[5] = uVar1" (subscript_expression "p[5]" identifier [ number_literal ]) = identifier) ;) (return_statement "return;" return ;) (ERROR "}" }))
(translation_unit "void FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)\n\n{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}\n\n" (function_definition "void FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)\n\n{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}" primitive_type (function_declarator "FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)" identifier (parameter_list "(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)" ( (parameter_declaration "undefined8 param_1" type_identifier identifier) , (parameter_declaration "undefined8 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "ulong param_3" type_identifier identifier) , (parameter_declaration "int param_4" primitive_type identifier) , (parameter_declaration "char param_5" primitive_type identifier) , (parameter_declaration "undefined8 param_6" type_identifier identifier) , (parameter_declaration "uint *param_7" type_identifier (pointer_declarator "*param_7" * identifier)) ))) (compound_statement "{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}" { (declaration "undefined1 uVar1;" type_identifier identifier ;) (declaration "ulong uVar2;" type_identifier identifier ;) (declaration "byte bVar3;" type_identifier identifier ;) (declaration "uint uVar4;" type_identifier identifier ;) (declaration "long lVar5;" (sized_type_specifier "long" long) identifier ;) (declaration "undefined1 *local_58;" type_identifier (pointer_declarator "*local_58" * identifier) ;) (declaration "undefined8 local_50;" type_identifier identifier ;) (declaration "undefined1 auStack_48 [24];" type_identifier (array_declarator "auStack_48 [24]" identifier [ number_literal ]) ;) (if_statement "if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" if (parenthesized_expression "(param_2[1] == 0)" ( (binary_expression "param_2[1] == 0" (subscript_expression "param_2[1]" identifier [ number_literal ]) == number_literal) )) (compound_statement "{\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }" { (labeled_statement "LAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);" statement_identifier : (expression_statement "uVar4 = FUN_0026df00(param_6,*param_2);" (assignment_expression "uVar4 = FUN_0026df00(param_6,*param_2)" identifier = (call_expression "FUN_0026df00(param_6,*param_2)" identifier (argument_list "(param_6,*param_2)" ( identifier , (pointer_expression "*param_2" * identifier) )))) ;)) (expression_statement "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*param_7" * identifier) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) }) (else_clause "else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" else (compound_statement "{\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" { (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" if (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" { (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;) })) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;" if (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0')" ( (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" * (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" ( (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" * (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" ( (type_descriptor "long *" (sized_type_specifier "long" long) (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" ( (binary_expression "PTR_DAT_0043e6b0 + 0x10" identifier + number_literal) )))) + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00276707;" goto statement_identifier ;)) (expression_statement "FUN_00271f90(&local_58);" (call_expression "FUN_00271f90(&local_58)" identifier (argument_list "(&local_58)" ( (pointer_expression "&local_58" & identifier) ))) ;) (expression_statement "uVar4 = FUN_0026de60(param_6,local_58,local_50);" (assignment_expression "uVar4 = FUN_0026de60(param_6,local_58,local_50)" identifier = (call_expression "FUN_0026de60(param_6,local_58,local_50)" identifier (argument_list "(param_6,local_58,local_50)" ( identifier , identifier , identifier )))) ;) (expression_statement "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*param_7" * identifier) = (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" identifier >> number_literal) | (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" ( (binary_expression "uVar4 & 0xff0000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" ( (binary_expression "uVar4 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar4 << 0x18" identifier << number_literal))) ;) (if_statement "if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }" if (parenthesized_expression "(local_58 != auStack_48)" ( (binary_expression "local_58 != auStack_48" identifier != identifier) )) (compound_statement "{\n      FUN_002dac60();\n    }" { (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" identifier (argument_list "()" ( ))) ;) })) }))) (expression_statement "bVar3 = *(byte *)(param_2 + 7);" (assignment_expression "bVar3 = *(byte *)(param_2 + 7)" identifier = (pointer_expression "*(byte *)(param_2 + 7)" * (cast_expression "(byte *)(param_2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_2 + 7)" ( (binary_expression "param_2 + 7" identifier + number_literal) ))))) ;) (expression_statement "*(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38" (pointer_expression "*(ulong *)(param_7 + 2)" * (cast_expression "(ulong *)(param_7 + 2)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 2)" ( (binary_expression "param_7 + 2" identifier + number_literal) )))) = (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28" (binary_expression "param_3 >> 0x38" identifier >> number_literal) | (binary_expression "(param_3 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_3 & 0xff000000000000)" ( (binary_expression "param_3 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_3 & 0xff0000000000)" ( (binary_expression "param_3 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff00000000) >> 8" (parenthesized_expression "(param_3 & 0xff00000000)" ( (binary_expression "param_3 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(param_3 & 0xff000000) << 8" (parenthesized_expression "(param_3 & 0xff000000)" ( (binary_expression "param_3 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_3 & 0xff0000) << 0x18" (parenthesized_expression "(param_3 & 0xff0000)" ( (binary_expression "param_3 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(param_3 & 0xff00) << 0x28" (parenthesized_expression "(param_3 & 0xff00)" ( (binary_expression "param_3 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "param_3 << 0x38" identifier << number_literal))) ;) (expression_statement "bVar3 = bVar3 & 0xf;" (assignment_expression "bVar3 = bVar3 & 0xf" identifier = (binary_expression "bVar3 & 0xf" identifier & number_literal)) ;) (if_statement "if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" if (parenthesized_expression "(param_4 == 0)" ( (binary_expression "param_4 == 0" identifier == number_literal) )) (compound_statement "{\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }" { (if_statement "if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" if (parenthesized_expression "((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)((long)param_2 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_2 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_2 + 0x3a)" * (cast_expression "(byte *)((long)param_2 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x3a)" ( (binary_expression "(long)param_2 + 0x3a" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" { (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" identifier = (subscript_expression "param_2[9]" identifier [ number_literal ])) ;) (expression_statement "*(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" * (cast_expression "(ulong *)(param_7 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 4)" ( (binary_expression "param_7 + 4" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (goto_statement "goto LAB_00276784;" goto statement_identifier ;) })) (expression_statement "lVar5 = param_2[2];" (assignment_expression "lVar5 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) (if_statement "if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" if (parenthesized_expression "((*(byte *)(lVar5 + 0x3c) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x3c) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x3c) & 1)" ( (binary_expression "*(byte *)(lVar5 + 0x3c) & 1" (pointer_expression "*(byte *)(lVar5 + 0x3c)" * (cast_expression "(byte *)(lVar5 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x3c)" ( (binary_expression "lVar5 + 0x3c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" { (expression_statement "param_7[4] = 0;" (assignment_expression "param_7[4] = 0" (subscript_expression "param_7[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "param_7[5] = 0;" (assignment_expression "param_7[5] = 0" (subscript_expression "param_7[5]" identifier [ number_literal ]) = number_literal) ;) (if_statement "if (bVar3 != 10) goto LAB_00276784;" if (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) (goto_statement "goto LAB_00276751;" goto statement_identifier ;) })) (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" identifier = (subscript_expression "param_2[9]" identifier [ number_literal ])) ;) (expression_statement "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" * (cast_expression "(ulong *)(param_7 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 4)" ( (binary_expression "param_7 + 4" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (if_statement "if (bVar3 != 10) goto LAB_00276784;" if (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) }) (else_clause "else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" else (compound_statement "{\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" { (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" identifier = (subscript_expression "param_2[9]" identifier [ number_literal ])) ;) (expression_statement "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" * (cast_expression "(ulong *)(param_7 + 4)" ( (type_descriptor "ulong *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 4)" ( (binary_expression "param_7 + 4" identifier + number_literal) )))) = (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" identifier >> number_literal) | (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" ( (binary_expression "uVar2 & 0xff000000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" ( (binary_expression "uVar2 & 0xff0000000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" ( (binary_expression "uVar2 & 0xff00000000" identifier & number_literal) )) >> number_literal)) | (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" ( (binary_expression "uVar2 & 0xff000000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" ( (binary_expression "uVar2 & 0xff0000" identifier & number_literal) )) << number_literal)) | (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" ( (binary_expression "uVar2 & 0xff00" identifier & number_literal) )) << number_literal)) | (binary_expression "uVar2 << 0x38" identifier << number_literal))) ;) (if_statement "if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;" if (parenthesized_expression "((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0))" ( (binary_expression "(bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" (parenthesized_expression "(bVar3 != 10)" ( (binary_expression "bVar3 != 10" identifier != number_literal) )) || (parenthesized_expression "((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" ( (binary_expression "(*(byte *)((long)param_2 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3a) & 7)" ( (binary_expression "*(byte *)((long)param_2 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_2 + 0x3a)" * (cast_expression "(byte *)((long)param_2 + 0x3a)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x3a)" ( (binary_expression "(long)param_2 + 0x3a" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) ))) )) (goto_statement "goto LAB_00276784;" goto statement_identifier ;)) (expression_statement "lVar5 = param_2[2];" (assignment_expression "lVar5 = param_2[2]" identifier = (subscript_expression "param_2[2]" identifier [ number_literal ])) ;) }))) (if_statement "if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" if (parenthesized_expression "((*(byte *)(lVar5 + 0x3c) & 1) != 0)" ( (binary_expression "(*(byte *)(lVar5 + 0x3c) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x3c) & 1)" ( (binary_expression "*(byte *)(lVar5 + 0x3c) & 1" (pointer_expression "*(byte *)(lVar5 + 0x3c)" * (cast_expression "(byte *)(lVar5 + 0x3c)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(lVar5 + 0x3c)" ( (binary_expression "lVar5 + 0x3c" identifier + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" { (labeled_statement "LAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");" statement_identifier : (expression_statement "FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");" (call_expression "FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol")" identifier (argument_list "("../../gold/symtab.cc",0xd01,"sized_write_symbol")" ( (string_literal ""../../gold/symtab.cc"" " string_content ") , number_literal , (string_literal ""sized_write_symbol"" " string_content ") ))) ;)) })) (labeled_statement "LAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" statement_identifier : (if_statement "if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" if (parenthesized_expression "((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0)" ( (binary_expression "(*(byte *)((long)param_2 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3b) & 0x10)" ( (binary_expression "*(byte *)((long)param_2 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)param_2 + 0x3b)" * (cast_expression "(byte *)((long)param_2 + 0x3b)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x3b)" ( (binary_expression "(long)param_2 + 0x3b" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" { (expression_statement "bVar3 = param_5 * '\x10' + bVar3;" (assignment_expression "bVar3 = param_5 * '\x10' + bVar3" identifier = (binary_expression "param_5 * '\x10' + bVar3" (binary_expression "param_5 * '\x10'" identifier * (char_literal "'\x10'" ' escape_sequence ')) + identifier)) ;) }))) (expression_statement "*(byte *)(param_7 + 1) = bVar3;" (assignment_expression "*(byte *)(param_7 + 1) = bVar3" (pointer_expression "*(byte *)(param_7 + 1)" * (cast_expression "(byte *)(param_7 + 1)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_7 + 1)" ( (binary_expression "param_7 + 1" identifier + number_literal) )))) = identifier) ;) (expression_statement "uVar1 = *(undefined1 *)((long)param_2 + 0x39);" (assignment_expression "uVar1 = *(undefined1 *)((long)param_2 + 0x39)" identifier = (pointer_expression "*(undefined1 *)((long)param_2 + 0x39)" * (cast_expression "(undefined1 *)((long)param_2 + 0x39)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_2 + 0x39)" ( (binary_expression "(long)param_2 + 0x39" (cast_expression "(long)param_2" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) ))))) ;) (expression_statement "*(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;" (assignment_expression "*(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8" (pointer_expression "*(ushort *)((long)param_7 + 6)" * (cast_expression "(ushort *)((long)param_7 + 6)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_7 + 6)" ( (binary_expression "(long)param_7 + 6" (cast_expression "(long)param_7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = (binary_expression "(ushort)param_4 << 8 | (ushort)param_4 >> 8" (binary_expression "(ushort)param_4 << 8" (cast_expression "(ushort)param_4" ( (type_descriptor "ushort" type_identifier) ) identifier) << number_literal) | (binary_expression "(ushort)param_4 >> 8" (cast_expression "(ushort)param_4" ( (type_descriptor "ushort" type_identifier) ) identifier) >> number_literal))) ;) (expression_statement "*(undefined1 *)((long)param_7 + 5) = uVar1;" (assignment_expression "*(undefined1 *)((long)param_7 + 5) = uVar1" (pointer_expression "*(undefined1 *)((long)param_7 + 5)" * (cast_expression "(undefined1 *)((long)param_7 + 5)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((long)param_7 + 5)" ( (binary_expression "(long)param_7 + 5" (cast_expression "(long)param_7" ( (type_descriptor "long" (sized_type_specifier "long" long)) ) identifier) + number_literal) )))) = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration (sized_type_specifier long) IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (array_declarator IDENT [ LIT ]) ;) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , (pointer_expression * IDENT) )))) ;)) (expression_statement (assignment_expression (pointer_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))) ;) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor (sized_type_specifier long) (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) == (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression & IDENT) ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) ;) (expression_statement (assignment_expression (pointer_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))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT & LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression (binary_expression IDENT >> LIT) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) >> LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) << LIT)) | (binary_expression IDENT << LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT != LIT) )) || (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) != LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) }))) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;)) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression IDENT * (char_literal ' escape_sequence ')) + IDENT)) ;) }))) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor (sized_type_specifier long)) ) IDENT) + LIT) ))))) ;) (expression_statement (assignment_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) )))) = (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) << LIT) | (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT))) ;) (expression_statement (assignment_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) )))) = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)\n\n{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_002766c0(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)" (identifier "FUN_002766c0") (parameter_list "(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,\n                 undefined8 param_6,uint *param_7)" (( "(") (parameter_declaration "undefined8 param_1" (type_identifier "undefined8") (identifier "param_1")) (, ",") (parameter_declaration "undefined8 *param_2" (type_identifier "undefined8") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "ulong param_3" (type_identifier "ulong") (identifier "param_3")) (, ",") (parameter_declaration "int param_4" (primitive_type "int") (identifier "param_4")) (, ",") (parameter_declaration "char param_5" (primitive_type "char") (identifier "param_5")) (, ",") (parameter_declaration "undefined8 param_6" (type_identifier "undefined8") (identifier "param_6")) (, ",") (parameter_declaration "uint *param_7" (type_identifier "uint") (pointer_declarator "*param_7" (* "*") (identifier "param_7"))) () ")"))) (compound_statement "{\n  undefined1 uVar1;\n  ulong uVar2;\n  byte bVar3;\n  uint uVar4;\n  long lVar5;\n  undefined1 *local_58;\n  undefined8 local_50;\n  undefined1 auStack_48 [24];\n  \n  if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }\n  bVar3 = *(byte *)(param_2 + 7);\n  *(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;\n  bVar3 = bVar3 & 0xf;\n  if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }\n  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }\nLAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }\n  *(byte *)(param_7 + 1) = bVar3;\n  uVar1 = *(undefined1 *)((long)param_2 + 0x39);\n  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;\n  *(undefined1 *)((long)param_7 + 5) = uVar1;\n  return;\n}" ({ "{") (declaration "undefined1 uVar1;" (type_identifier "undefined1") (identifier "uVar1") (; ";")) (declaration "ulong uVar2;" (type_identifier "ulong") (identifier "uVar2") (; ";")) (declaration "byte bVar3;" (type_identifier "byte") (identifier "bVar3") (; ";")) (declaration "uint uVar4;" (type_identifier "uint") (identifier "uVar4") (; ";")) (declaration "long lVar5;" (sized_type_specifier "long" (long "long")) (identifier "lVar5") (; ";")) (declaration "undefined1 *local_58;" (type_identifier "undefined1") (pointer_declarator "*local_58" (* "*") (identifier "local_58")) (; ";")) (declaration "undefined8 local_50;" (type_identifier "undefined8") (identifier "local_50") (; ";")) (declaration "undefined1 auStack_48 [24];" (type_identifier "undefined1") (array_declarator "auStack_48 [24]" (identifier "auStack_48") ([ "[") (number_literal "24") (] "]")) (; ";")) (if_statement "if (param_2[1] == 0) {\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }\n  else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" (if "if") (parenthesized_expression "(param_2[1] == 0)" (( "(") (binary_expression "param_2[1] == 0" (subscript_expression "param_2[1]" (identifier "param_2") ([ "[") (number_literal "1") (] "]")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n  }" ({ "{") (labeled_statement "LAB_00276707:\n    uVar4 = FUN_0026df00(param_6,*param_2);" (statement_identifier "LAB_00276707") (: ":") (expression_statement "uVar4 = FUN_0026df00(param_6,*param_2);" (assignment_expression "uVar4 = FUN_0026df00(param_6,*param_2)" (identifier "uVar4") (= "=") (call_expression "FUN_0026df00(param_6,*param_2)" (identifier "FUN_0026df00") (argument_list "(param_6,*param_2)" (( "(") (identifier "param_6") (, ",") (pointer_expression "*param_2" (* "*") (identifier "param_2")) () ")")))) (; ";"))) (expression_statement "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar4 << 0x18" (identifier "uVar4") (<< "<<") (number_literal "0x18")))) (; ";")) (} "}")) (else_clause "else {\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" (else "else") (compound_statement "{\n    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }\n    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;\n    FUN_00271f90(&local_58);\n                    \n    uVar4 = FUN_0026de60(param_6,local_58,local_50);\n    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;\n    if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }\n  }" ({ "{") (if_statement "if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" (if "if") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_0017c650("../../gold/parameters.h",0x5c,"options");\n    }" ({ "{") (expression_statement "FUN_0017c650("../../gold/parameters.h",0x5c,"options");" (call_expression "FUN_0017c650("../../gold/parameters.h",0x5c,"options")" (identifier "FUN_0017c650") (argument_list "("../../gold/parameters.h",0x5c,"options")" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;" (if "if") (parenthesized_expression "(*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0')" (( "(") (binary_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0'" (pointer_expression "*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" (* "*") (cast_expression "(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051)" (( "(") (binary_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051" (pointer_expression "*(long *)(PTR_DAT_0043e6b0 + 0x10)" (* "*") (cast_expression "(long *)(PTR_DAT_0043e6b0 + 0x10)" (( "(") (type_descriptor "long *" (sized_type_specifier "long" (long "long")) (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0043e6b0 + 0x10)" (( "(") (binary_expression "PTR_DAT_0043e6b0 + 0x10" (identifier "PTR_DAT_0043e6b0") (+ "+") (number_literal "0x10")) () ")")))) (+ "+") (number_literal "0x5051")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00276707;" (goto "goto") (statement_identifier "LAB_00276707") (; ";"))) (expression_statement "FUN_00271f90(&local_58);" (call_expression "FUN_00271f90(&local_58)" (identifier "FUN_00271f90") (argument_list "(&local_58)" (( "(") (pointer_expression "&local_58" (& "&") (identifier "local_58")) () ")"))) (; ";")) (expression_statement "uVar4 = FUN_0026de60(param_6,local_58,local_50);" (assignment_expression "uVar4 = FUN_0026de60(param_6,local_58,local_50)" (identifier "uVar4") (= "=") (call_expression "FUN_0026de60(param_6,local_58,local_50)" (identifier "FUN_0026de60") (argument_list "(param_6,local_58,local_50)" (( "(") (identifier "param_6") (, ",") (identifier "local_58") (, ",") (identifier "local_50") () ")")))) (; ";")) (expression_statement "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;" (assignment_expression "*param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (pointer_expression "*param_7" (* "*") (identifier "param_7")) (= "=") (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8" (binary_expression "uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8" (binary_expression "uVar4 >> 0x18" (identifier "uVar4") (>> ">>") (number_literal "0x18")) (| "|") (binary_expression "(uVar4 & 0xff0000) >> 8" (parenthesized_expression "(uVar4 & 0xff0000)" (( "(") (binary_expression "uVar4 & 0xff0000" (identifier "uVar4") (& "&") (number_literal "0xff0000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar4 & 0xff00) << 8" (parenthesized_expression "(uVar4 & 0xff00)" (( "(") (binary_expression "uVar4 & 0xff00" (identifier "uVar4") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "uVar4 << 0x18" (identifier "uVar4") (<< "<<") (number_literal "0x18")))) (; ";")) (if_statement "if (local_58 != auStack_48) {\n      FUN_002dac60();\n    }" (if "if") (parenthesized_expression "(local_58 != auStack_48)" (( "(") (binary_expression "local_58 != auStack_48" (identifier "local_58") (!= "!=") (identifier "auStack_48")) () ")")) (compound_statement "{\n      FUN_002dac60();\n    }" ({ "{") (expression_statement "FUN_002dac60();" (call_expression "FUN_002dac60()" (identifier "FUN_002dac60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (} "}")))) (expression_statement "bVar3 = *(byte *)(param_2 + 7);" (assignment_expression "bVar3 = *(byte *)(param_2 + 7)" (identifier "bVar3") (= "=") (pointer_expression "*(byte *)(param_2 + 7)" (* "*") (cast_expression "(byte *)(param_2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_2 + 7)" (( "(") (binary_expression "param_2 + 7" (identifier "param_2") (+ "+") (number_literal "7")) () ")"))))) (; ";")) (expression_statement "*(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 2) =\n       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38" (pointer_expression "*(ulong *)(param_7 + 2)" (* "*") (cast_expression "(ulong *)(param_7 + 2)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 2)" (( "(") (binary_expression "param_7 + 2" (identifier "param_7") (+ "+") (number_literal "2")) () ")")))) (= "=") (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28 | param_3 << 0x38" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |\n       (param_3 & 0xff00) << 0x28" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |\n       (param_3 & 0xff00000000) >> 8" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18" (binary_expression "param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28" (binary_expression "param_3 >> 0x38" (identifier "param_3") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(param_3 & 0xff000000000000) >> 0x28" (parenthesized_expression "(param_3 & 0xff000000000000)" (( "(") (binary_expression "param_3 & 0xff000000000000" (identifier "param_3") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(param_3 & 0xff0000000000) >> 0x18" (parenthesized_expression "(param_3 & 0xff0000000000)" (( "(") (binary_expression "param_3 & 0xff0000000000" (identifier "param_3") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(param_3 & 0xff00000000) >> 8" (parenthesized_expression "(param_3 & 0xff00000000)" (( "(") (binary_expression "param_3 & 0xff00000000" (identifier "param_3") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(param_3 & 0xff000000) << 8" (parenthesized_expression "(param_3 & 0xff000000)" (( "(") (binary_expression "param_3 & 0xff000000" (identifier "param_3") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(param_3 & 0xff0000) << 0x18" (parenthesized_expression "(param_3 & 0xff0000)" (( "(") (binary_expression "param_3 & 0xff0000" (identifier "param_3") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(param_3 & 0xff00) << 0x28" (parenthesized_expression "(param_3 & 0xff00)" (( "(") (binary_expression "param_3 & 0xff00" (identifier "param_3") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "param_3 << 0x38" (identifier "param_3") (<< "<<") (number_literal "0x38")))) (; ";")) (expression_statement "bVar3 = bVar3 & 0xf;" (assignment_expression "bVar3 = bVar3 & 0xf" (identifier "bVar3") (= "=") (binary_expression "bVar3 & 0xf" (identifier "bVar3") (& "&") (number_literal "0xf"))) (; ";")) (if_statement "if (param_4 == 0) {\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }\n  else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" (if "if") (parenthesized_expression "(param_4 == 0)" (( "(") (binary_expression "param_4 == 0" (identifier "param_4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }\n    lVar5 = param_2[2];\n    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if (bVar3 != 10) goto LAB_00276784;\n  }" ({ "{") (if_statement "if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" (if "if") (parenthesized_expression "((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((long)param_2 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)param_2 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_2 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_2 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_2 + 0x3a)" (( "(") (binary_expression "(long)param_2 + 0x3a" (cast_expression "(long)param_2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_2")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      uVar2 = param_2[9];\n      *(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n      goto LAB_00276784;\n    }" ({ "{") (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" (identifier "uVar2") (= "=") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" (* "*") (cast_expression "(ulong *)(param_7 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 4)" (( "(") (binary_expression "param_7 + 4" (identifier "param_7") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n           (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n           (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" (identifier "uVar2") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" (( "(") (binary_expression "uVar2 & 0xff000000000000" (identifier "uVar2") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" (( "(") (binary_expression "uVar2 & 0xff0000000000" (identifier "uVar2") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" (( "(") (binary_expression "uVar2 & 0xff00000000" (identifier "uVar2") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" (( "(") (binary_expression "uVar2 & 0xff000000" (identifier "uVar2") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar2 << 0x38" (identifier "uVar2") (<< "<<") (number_literal "0x38")))) (; ";")) (goto_statement "goto LAB_00276784;" (goto "goto") (statement_identifier "LAB_00276784") (; ";")) (} "}"))) (expression_statement "lVar5 = param_2[2];" (assignment_expression "lVar5 = param_2[2]" (identifier "lVar5") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (if_statement "if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" (if "if") (parenthesized_expression "((*(byte *)(lVar5 + 0x3c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 0x3c) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x3c) & 1)" (( "(") (binary_expression "*(byte *)(lVar5 + 0x3c) & 1" (pointer_expression "*(byte *)(lVar5 + 0x3c)" (* "*") (cast_expression "(byte *)(lVar5 + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x3c)" (( "(") (binary_expression "lVar5 + 0x3c" (identifier "lVar5") (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      param_7[4] = 0;\n      param_7[5] = 0;\n      if (bVar3 != 10) goto LAB_00276784;\n      goto LAB_00276751;\n    }" ({ "{") (expression_statement "param_7[4] = 0;" (assignment_expression "param_7[4] = 0" (subscript_expression "param_7[4]" (identifier "param_7") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "param_7[5] = 0;" (assignment_expression "param_7[5] = 0" (subscript_expression "param_7[5]" (identifier "param_7") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0")) (; ";")) (if_statement "if (bVar3 != 10) goto LAB_00276784;" (if "if") (parenthesized_expression "(bVar3 != 10)" (( "(") (binary_expression "bVar3 != 10" (identifier "bVar3") (!= "!=") (number_literal "10")) () ")")) (goto_statement "goto LAB_00276784;" (goto "goto") (statement_identifier "LAB_00276784") (; ";"))) (goto_statement "goto LAB_00276751;" (goto "goto") (statement_identifier "LAB_00276751") (; ";")) (} "}"))) (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" (identifier "uVar2") (= "=") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" (* "*") (cast_expression "(ulong *)(param_7 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 4)" (( "(") (binary_expression "param_7 + 4" (identifier "param_7") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" (identifier "uVar2") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" (( "(") (binary_expression "uVar2 & 0xff000000000000" (identifier "uVar2") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" (( "(") (binary_expression "uVar2 & 0xff0000000000" (identifier "uVar2") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" (( "(") (binary_expression "uVar2 & 0xff00000000" (identifier "uVar2") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" (( "(") (binary_expression "uVar2 & 0xff000000" (identifier "uVar2") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar2 << 0x38" (identifier "uVar2") (<< "<<") (number_literal "0x38")))) (; ";")) (if_statement "if (bVar3 != 10) goto LAB_00276784;" (if "if") (parenthesized_expression "(bVar3 != 10)" (( "(") (binary_expression "bVar3 != 10" (identifier "bVar3") (!= "!=") (number_literal "10")) () ")")) (goto_statement "goto LAB_00276784;" (goto "goto") (statement_identifier "LAB_00276784") (; ";"))) (} "}")) (else_clause "else {\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" (else "else") (compound_statement "{\n    uVar2 = param_2[9];\n    *(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;\n    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;\n    lVar5 = param_2[2];\n  }" ({ "{") (expression_statement "uVar2 = param_2[9];" (assignment_expression "uVar2 = param_2[9]" (identifier "uVar2") (= "=") (subscript_expression "param_2[9]" (identifier "param_2") ([ "[") (number_literal "9") (] "]"))) (; ";")) (expression_statement "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;" (assignment_expression "*(ulong *)(param_7 + 4) =\n         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (pointer_expression "*(ulong *)(param_7 + 4)" (* "*") (cast_expression "(ulong *)(param_7 + 4)" (( "(") (type_descriptor "ulong *" (type_identifier "ulong") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 4)" (( "(") (binary_expression "param_7 + 4" (identifier "param_7") (+ "+") (number_literal "4")) () ")")))) (= "=") (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |\n         (uVar2 & 0xff00) << 0x28" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |\n         (uVar2 & 0xff00000000) >> 8" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18" (binary_expression "uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28" (binary_expression "uVar2 >> 0x38" (identifier "uVar2") (>> ">>") (number_literal "0x38")) (| "|") (binary_expression "(uVar2 & 0xff000000000000) >> 0x28" (parenthesized_expression "(uVar2 & 0xff000000000000)" (( "(") (binary_expression "uVar2 & 0xff000000000000" (identifier "uVar2") (& "&") (number_literal "0xff000000000000")) () ")")) (>> ">>") (number_literal "0x28"))) (| "|") (binary_expression "(uVar2 & 0xff0000000000) >> 0x18" (parenthesized_expression "(uVar2 & 0xff0000000000)" (( "(") (binary_expression "uVar2 & 0xff0000000000" (identifier "uVar2") (& "&") (number_literal "0xff0000000000")) () ")")) (>> ">>") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00000000) >> 8" (parenthesized_expression "(uVar2 & 0xff00000000)" (( "(") (binary_expression "uVar2 & 0xff00000000" (identifier "uVar2") (& "&") (number_literal "0xff00000000")) () ")")) (>> ">>") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff000000) << 8" (parenthesized_expression "(uVar2 & 0xff000000)" (( "(") (binary_expression "uVar2 & 0xff000000" (identifier "uVar2") (& "&") (number_literal "0xff000000")) () ")")) (<< "<<") (number_literal "8"))) (| "|") (binary_expression "(uVar2 & 0xff0000) << 0x18" (parenthesized_expression "(uVar2 & 0xff0000)" (( "(") (binary_expression "uVar2 & 0xff0000" (identifier "uVar2") (& "&") (number_literal "0xff0000")) () ")")) (<< "<<") (number_literal "0x18"))) (| "|") (binary_expression "(uVar2 & 0xff00) << 0x28" (parenthesized_expression "(uVar2 & 0xff00)" (( "(") (binary_expression "uVar2 & 0xff00" (identifier "uVar2") (& "&") (number_literal "0xff00")) () ")")) (<< "<<") (number_literal "0x28"))) (| "|") (binary_expression "uVar2 << 0x38" (identifier "uVar2") (<< "<<") (number_literal "0x38")))) (; ";")) (if_statement "if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;" (if "if") (parenthesized_expression "((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0))" (( "(") (binary_expression "(bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" (parenthesized_expression "(bVar3 != 10)" (( "(") (binary_expression "bVar3 != 10" (identifier "bVar3") (!= "!=") (number_literal "10")) () ")")) (|| "||") (parenthesized_expression "((*(byte *)((long)param_2 + 0x3a) & 7) != 0)" (( "(") (binary_expression "(*(byte *)((long)param_2 + 0x3a) & 7) != 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3a) & 7)" (( "(") (binary_expression "*(byte *)((long)param_2 + 0x3a) & 7" (pointer_expression "*(byte *)((long)param_2 + 0x3a)" (* "*") (cast_expression "(byte *)((long)param_2 + 0x3a)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_2 + 0x3a)" (( "(") (binary_expression "(long)param_2 + 0x3a" (cast_expression "(long)param_2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_2")) (+ "+") (number_literal "0x3a")) () ")")))) (& "&") (number_literal "7")) () ")")) (!= "!=") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00276784;" (goto "goto") (statement_identifier "LAB_00276784") (; ";"))) (expression_statement "lVar5 = param_2[2];" (assignment_expression "lVar5 = param_2[2]" (identifier "lVar5") (= "=") (subscript_expression "param_2[2]" (identifier "param_2") ([ "[") (number_literal "2") (] "]"))) (; ";")) (} "}")))) (if_statement "if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" (if "if") (parenthesized_expression "((*(byte *)(lVar5 + 0x3c) & 1) != 0)" (( "(") (binary_expression "(*(byte *)(lVar5 + 0x3c) & 1) != 0" (parenthesized_expression "(*(byte *)(lVar5 + 0x3c) & 1)" (( "(") (binary_expression "*(byte *)(lVar5 + 0x3c) & 1" (pointer_expression "*(byte *)(lVar5 + 0x3c)" (* "*") (cast_expression "(byte *)(lVar5 + 0x3c)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(lVar5 + 0x3c)" (( "(") (binary_expression "lVar5 + 0x3c" (identifier "lVar5") (+ "+") (number_literal "0x3c")) () ")")))) (& "&") (number_literal "1")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");\n  }" ({ "{") (labeled_statement "LAB_00276751:\n                    \n    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");" (statement_identifier "LAB_00276751") (: ":") (expression_statement "FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");" (call_expression "FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol")" (identifier "FUN_0017c650") (argument_list "("../../gold/symtab.cc",0xd01,"sized_write_symbol")" (( "(") (string_literal ""../../gold/symtab.cc"" (" """) (string_content "../../gold/symtab.cc") (" """)) (, ",") (number_literal "0xd01") (, ",") (string_literal ""sized_write_symbol"" (" """) (string_content "sized_write_symbol") (" """)) () ")"))) (; ";"))) (} "}"))) (labeled_statement "LAB_00276784:\n  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" (statement_identifier "LAB_00276784") (: ":") (if_statement "if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" (if "if") (parenthesized_expression "((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0)" (( "(") (binary_expression "(*(byte *)((long)param_2 + 0x3b) & 0x10) == 0" (parenthesized_expression "(*(byte *)((long)param_2 + 0x3b) & 0x10)" (( "(") (binary_expression "*(byte *)((long)param_2 + 0x3b) & 0x10" (pointer_expression "*(byte *)((long)param_2 + 0x3b)" (* "*") (cast_expression "(byte *)((long)param_2 + 0x3b)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_2 + 0x3b)" (( "(") (binary_expression "(long)param_2 + 0x3b" (cast_expression "(long)param_2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_2")) (+ "+") (number_literal "0x3b")) () ")")))) (& "&") (number_literal "0x10")) () ")")) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    bVar3 = param_5 * '\x10' + bVar3;\n  }" ({ "{") (expression_statement "bVar3 = param_5 * '\x10' + bVar3;" (assignment_expression "bVar3 = param_5 * '\x10' + bVar3" (identifier "bVar3") (= "=") (binary_expression "param_5 * '\x10' + bVar3" (binary_expression "param_5 * '\x10'" (identifier "param_5") (* "*") (char_literal "'\x10'" (' "'") (escape_sequence "\x10") (' "'"))) (+ "+") (identifier "bVar3"))) (; ";")) (} "}")))) (expression_statement "*(byte *)(param_7 + 1) = bVar3;" (assignment_expression "*(byte *)(param_7 + 1) = bVar3" (pointer_expression "*(byte *)(param_7 + 1)" (* "*") (cast_expression "(byte *)(param_7 + 1)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_7 + 1)" (( "(") (binary_expression "param_7 + 1" (identifier "param_7") (+ "+") (number_literal "1")) () ")")))) (= "=") (identifier "bVar3")) (; ";")) (expression_statement "uVar1 = *(undefined1 *)((long)param_2 + 0x39);" (assignment_expression "uVar1 = *(undefined1 *)((long)param_2 + 0x39)" (identifier "uVar1") (= "=") (pointer_expression "*(undefined1 *)((long)param_2 + 0x39)" (* "*") (cast_expression "(undefined1 *)((long)param_2 + 0x39)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_2 + 0x39)" (( "(") (binary_expression "(long)param_2 + 0x39" (cast_expression "(long)param_2" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_2")) (+ "+") (number_literal "0x39")) () ")"))))) (; ";")) (expression_statement "*(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;" (assignment_expression "*(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8" (pointer_expression "*(ushort *)((long)param_7 + 6)" (* "*") (cast_expression "(ushort *)((long)param_7 + 6)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_7 + 6)" (( "(") (binary_expression "(long)param_7 + 6" (cast_expression "(long)param_7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_7")) (+ "+") (number_literal "6")) () ")")))) (= "=") (binary_expression "(ushort)param_4 << 8 | (ushort)param_4 >> 8" (binary_expression "(ushort)param_4 << 8" (cast_expression "(ushort)param_4" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "param_4")) (<< "<<") (number_literal "8")) (| "|") (binary_expression "(ushort)param_4 >> 8" (cast_expression "(ushort)param_4" (( "(") (type_descriptor "ushort" (type_identifier "ushort")) () ")") (identifier "param_4")) (>> ">>") (number_literal "8")))) (; ";")) (expression_statement "*(undefined1 *)((long)param_7 + 5) = uVar1;" (assignment_expression "*(undefined1 *)((long)param_7 + 5) = uVar1" (pointer_expression "*(undefined1 *)((long)param_7 + 5)" (* "*") (cast_expression "(undefined1 *)((long)param_7 + 5)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((long)param_7 + 5)" (( "(") (binary_expression "(long)param_7 + 5" (cast_expression "(long)param_7" (( "(") (type_descriptor "long" (sized_type_specifier "long" (long "long"))) () ")") (identifier "param_7")) (+ "+") (number_literal "5")) () ")")))) (= "=") (identifier "uVar1")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Enum "STB": Some values do not have unique names */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original name: sized_write_symbol<64, true>
   DWARF original prototype: void sized_write_symbol<64,_true>(Symbol_table * this, Sized_symbol<64>
   * sym, Elf_Addr value, uint shndx, STB binding, Stringpool * pool, uchar * p) */

void __thiscall
var_17::Symbol_table::sized_write_symbol<64,_true>
          (Symbol_table *this,Sized_symbol<64> *sym,type_8 var_13,type_3 var_15,STB binding,
          Stringpool *pool,uchar *var_12)

{
  uchar uVar1;
  type_1 var_16;
  type_2 var_14;
  type_3 var_4;
  type_4 sVar5;
  type_5 *pOVar6;
  type_6 local_58;
  
  if ((sym->super_Symbol).version_ == (char *)0x0) {
LAB_00276707:
    sVar5 = var_1<var_2>::var_3(pool,(sym->super_Symbol).name_);
    var_4 = (type_3)sVar5;
    *(type_3 *)var_12 = var_4 >> 0x18 | (var_4 & 0xff0000) >> 8 | (var_4 & 0xff00) << 8 | var_4 << 0x18;
  }
  else {
    if (parameters->options_ == (type_7 *)0x0) {
                    /* WARNING: Subroutine does not return */
      var_5("../../gold/parameters.h",0x5c,"options");
    }
    if ((parameters->options_->relocatable_).var_13 == false) goto LAB_00276707;
    Symbol::var_6(&local_58,&sym->super_Symbol);
                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */
    sVar5 = var_1<var_2>::var_7
                      (pool,local_58._M_dataplus._M_p,local_58._M_string_length);
    var_4 = (type_3)sVar5;
    *(type_3 *)var_12 = var_4 >> 0x18 | (var_4 & 0xff0000) >> 8 | (var_4 & 0xff00) << 8 | var_4 << 0x18;
    if ((anon_union_16_2_edb7204a_for_basic_string<var_2,var_18::char_traits<var_2>,var_18::var_8<var_2>var_9>var_10
         *)local_58._M_dataplus._M_p != &local_58.field_2) {
      var_11(local_58._M_dataplus._M_p);
    }
  }
  var_14 = (sym->super_Symbol).field_0x38;
  *(type_8 *)(var_12 + 8) =
       var_13 >> 0x38 | (var_13 & 0xff000000000000) >> 0x28 | (var_13 & 0xff0000000000) >> 0x18 |
       (var_13 & 0xff00000000) >> 8 | (var_13 & 0xff000000) << 8 | (var_13 & 0xff0000) << 0x18 |
       (var_13 & 0xff00) << 0x28 | var_13 << 0x38;
  var_14 = var_14 & 0xf;
  if (var_15 == 0) {
    if (((sym->super_Symbol).field_0x3a & 7) != 0) {
      var_16 = sym->symsize_;
      *(type_1 *)(var_12 + 0x10) =
           var_16 >> 0x38 | (var_16 & 0xff000000000000) >> 0x28 | (var_16 & 0xff0000000000) >> 0x18 |
           (var_16 & 0xff00000000) >> 8 | (var_16 & 0xff000000) << 8 | (var_16 & 0xff0000) << 0x18 |
           (var_16 & 0xff00) << 0x28 | var_16 << 0x38;
      goto LAB_00276784;
    }
    pOVar6 = (sym->super_Symbol).u1_.output_segment;
    if (((type_1)pOVar6->output_lists_[2].
                super__Vector_base<var_17::Output_data*,var_18::var_8<var_17::Output_data*>var_9>._M_impl.
                _M_finish & 0x100000000) != 0) {
      var_12[0x10] = '\0';
      var_12[0x11] = '\0';
      var_12[0x12] = '\0';
      var_12[0x13] = '\0';
      var_12[0x14] = '\0';
      var_12[0x15] = '\0';
      var_12[0x16] = '\0';
      var_12[0x17] = '\0';
      if (var_14 != 10) goto LAB_00276784;
      goto LAB_00276751;
    }
    var_16 = sym->symsize_;
    *(type_1 *)(var_12 + 0x10) =
         var_16 >> 0x38 | (var_16 & 0xff000000000000) >> 0x28 | (var_16 & 0xff0000000000) >> 0x18 |
         (var_16 & 0xff00000000) >> 8 | (var_16 & 0xff000000) << 8 | (var_16 & 0xff0000) << 0x18 |
         (var_16 & 0xff00) << 0x28 | var_16 << 0x38;
    if (var_14 != 10) goto LAB_00276784;
  }
  else {
    var_16 = sym->symsize_;
    *(type_1 *)(var_12 + 0x10) =
         var_16 >> 0x38 | (var_16 & 0xff000000000000) >> 0x28 | (var_16 & 0xff0000000000) >> 0x18 |
         (var_16 & 0xff00000000) >> 8 | (var_16 & 0xff000000) << 8 | (var_16 & 0xff0000) << 0x18 |
         (var_16 & 0xff00) << 0x28 | var_16 << 0x38;
    if ((var_14 != 10) || (((sym->super_Symbol).field_0x3a & 7) != 0)) goto LAB_00276784;
    pOVar6 = (sym->super_Symbol).u1_.output_segment;
  }
  if (((type_1)pOVar6->output_lists_[2].
              super__Vector_base<var_17::Output_data*,var_18::var_8<var_17::Output_data*>var_9>._M_impl.
              _M_finish & 0x100000000) != 0) {
LAB_00276751:
                    /* WARNING: Subroutine does not return */
    var_5("../../gold/symtab.cc",0xd01,"sized_write_symbol");
  }
LAB_00276784:
  if (((sym->super_Symbol).field_0x3b & 0x10) == 0) {
    var_14 = (char)binding * '\x10' + var_14;
  }
  var_12[4] = var_14;
  uVar1 = (sym->super_Symbol).field_0x39;
  *(type_9 *)(var_12 + 6) = (type_9)var_15 << 8 | (type_9)var_15 >> 8;
  var_12[5] = uVar1;
  return;
}


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

void MASKED(undefined8 param_1,undefined8 *param_2,ulong param_3,int param_4,char param_5,
                 undefined8 param_6,uint *param_7)

{
  undefined1 uVar1;
  ulong uVar2;
  byte bVar3;
  uint uVar4;
  long lVar5;
  undefined1 *local_58;
  undefined8 local_50;
  undefined1 auStack_48 [24];
  
  if (param_2[1] == 0) {
LAB_00276707:
    uVar4 = FUN_0026df00(param_6,*param_2);
    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
  }
  else {
    if (*(long *)(PTR_DAT_0043e6b0 + 0x10) == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_0017c650("../../gold/parameters.h",0x5c,"options");
    }
    if (*(char *)(*(long *)(PTR_DAT_0043e6b0 + 0x10) + 0x5051) == '\0') goto LAB_00276707;
    FUN_00271f90(&local_58);
                    /* try { // try from 002767e4 to 002767e8 has its CatchHandler @ 00276878 */
    uVar4 = FUN_0026de60(param_6,local_58,local_50);
    *param_7 = uVar4 >> 0x18 | (uVar4 & 0xff0000) >> 8 | (uVar4 & 0xff00) << 8 | uVar4 << 0x18;
    if (local_58 != auStack_48) {
      FUN_002dac60();
    }
  }
  bVar3 = *(byte *)(param_2 + 7);
  *(ulong *)(param_7 + 2) =
       param_3 >> 0x38 | (param_3 & 0xff000000000000) >> 0x28 | (param_3 & 0xff0000000000) >> 0x18 |
       (param_3 & 0xff00000000) >> 8 | (param_3 & 0xff000000) << 8 | (param_3 & 0xff0000) << 0x18 |
       (param_3 & 0xff00) << 0x28 | param_3 << 0x38;
  bVar3 = bVar3 & 0xf;
  if (param_4 == 0) {
    if ((*(byte *)((long)param_2 + 0x3a) & 7) != 0) {
      uVar2 = param_2[9];
      *(ulong *)(param_7 + 4) =
           uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
           (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
           (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
      goto LAB_00276784;
    }
    lVar5 = param_2[2];
    if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {
      param_7[4] = 0;
      param_7[5] = 0;
      if (bVar3 != 10) goto LAB_00276784;
      goto LAB_00276751;
    }
    uVar2 = param_2[9];
    *(ulong *)(param_7 + 4) =
         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
    if (bVar3 != 10) goto LAB_00276784;
  }
  else {
    uVar2 = param_2[9];
    *(ulong *)(param_7 + 4) =
         uVar2 >> 0x38 | (uVar2 & 0xff000000000000) >> 0x28 | (uVar2 & 0xff0000000000) >> 0x18 |
         (uVar2 & 0xff00000000) >> 8 | (uVar2 & 0xff000000) << 8 | (uVar2 & 0xff0000) << 0x18 |
         (uVar2 & 0xff00) << 0x28 | uVar2 << 0x38;
    if ((bVar3 != 10) || ((*(byte *)((long)param_2 + 0x3a) & 7) != 0)) goto LAB_00276784;
    lVar5 = param_2[2];
  }
  if ((*(byte *)(lVar5 + 0x3c) & 1) != 0) {
LAB_00276751:
                    /* WARNING: Subroutine does not return */
    FUN_0017c650("../../gold/symtab.cc",0xd01,"sized_write_symbol");
  }
LAB_00276784:
  if ((*(byte *)((long)param_2 + 0x3b) & 0x10) == 0) {
    bVar3 = param_5 * '\x10' + bVar3;
  }
  *(byte *)(param_7 + 1) = bVar3;
  uVar1 = *(undefined1 *)((long)param_2 + 0x39);
  *(ushort *)((long)param_7 + 6) = (ushort)param_4 << 8 | (ushort)param_4 >> 8;
  *(undefined1 *)((long)param_7 + 5) = uVar1;
  return;
}

