
/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: Object * do_make_elf_object(Target_arm<true> * this, string * name,
   Input_file * input_file, off_t offset, Ehdr<32,_true> * ehdr) */

Object * __thiscall
anon_unknown.dwarf_91258a::Target_arm<true>::do_make_elf_object
          (Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,
          Ehdr<32,_true> *ehdr)

{
  undefined1 *puVar1;
  ushort uVar2;
  pointer pcVar3;
  bool bVar4;
  Sized_dynobj<32,_true> *this_00;
  char *format;
  Sized_relobj_file<32,_true> *this_01;
  _func_int_varargs **pp_Var5;
  _func_int_varargs **pp_Var6;
  _func_int_varargs **pp_Var7;
  uint uVar8;
  int unaff_EDI;
  
  __x86_get_pc_thunk_di();
  uVar2 = ehdr->p_->e_type;
  uVar8 = (uint)(ushort)(uVar2 << 8 | uVar2 >> 8);
  if (uVar8 == 1) {
LAB_00142934:
    this_01 = (Sized_relobj_file<32,_true> *)operator_new(0x1a0);
                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */
    gold::Sized_relobj_file<32,_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr);
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object =
         (_func_int_varargs **)0x0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =
         (pointer)0x0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length = 0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2.
    _M_allocated_capacity = 0;
    *(undefined4 *)
     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4) = 0
    ;
    *(undefined4 *)
     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8) = 0
    ;
    *(undefined4 *)
     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc) =
         0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.input_file_ =
         (Input_file *)0x0;
    *(undefined4 *)
     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4) = 0;
    *(undefined4 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c = 0
    ;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_ = (Xindex *)0x0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_finish = (pointer)0x0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_end_of_storage = (pointer)0x0;
    (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object =
         (_func_int_varargs **)("small_common_section_flags" + unaff_EDI + 0x1b);
    puVar1 = &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.compressed_sections_ =
         (Compressed_section_map *)puVar1;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.
    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.
    _M_start = (pointer)puVar1;
    uVar8 = 0;
    do {
      *(undefined4 *)
       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +
       uVar8) = 0;
      uVar8 = uVar8 + 4;
    } while (uVar8 < 0x1c);
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ =
         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)
         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;
    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1
    ;
    *(undefined4 *)
     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0;
    gold::Sized_relobj_file<32,_true>::do_setup(this_01);
    pp_Var6 = (_func_int_varargs **)
              (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_;
    pp_Var5 = (_func_int_varargs **)0x0;
    if (pp_Var6 != (_func_int_varargs **)0x0) {
      if ((_func_int_varargs **)0x3fffffff < pp_Var6) {
                    /* WARNING: Subroutine does not return */
        std::__throw_bad_alloc();
      }
      pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4);
      pp_Var6 = pp_Var5 + (int)pp_Var6;
      pp_Var7 = pp_Var5;
      do {
        *pp_Var7 = (_func_int_varargs *)0x0;
        pp_Var7 = pp_Var7 + 1;
      } while (pp_Var7 != pp_Var6);
    }
    pp_Var7 = this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =
         (pointer)pp_Var6;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object = pp_Var5;
    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length =
         (size_type)pp_Var6;
    if (pp_Var7 != (_func_int_varargs **)0x0) {
      operator_delete(pp_Var7);
    }
    return (Object *)this_01;
  }
  if (uVar8 == 2) {
    bVar4 = gold::Input_file::just_symbols(input_file);
    if (bVar4) goto LAB_00142934;
  }
  else if (uVar8 == 3) {
    this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c);
                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */
    gold::Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);
    this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0;
    (this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)
    ;
    this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0;
    gold::Sized_dynobj<32,_true>::setup(this_00);
    return (Object *)this_00;
  }
  pcVar3 = (name->_M_dataplus)._M_p;
  format = (char *)gettext(&UNK_00324297 + unaff_EDI);
  gold::gold_error(format,pcVar3,uVar8);
  return (Object *)0x0;
}



int * FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,
                  undefined4 param_5,int *param_6)

{
  undefined4 uVar1;
  int iVar2;
  char cVar3;
  int *piVar4;
  undefined4 uVar5;
  uint uVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  ushort uVar10;
  int unaff_EDI;
  
  FUN_00074f0a();
  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;
  if (uVar10 == 1) {
LAB_00142934:
    piVar4 = (int *)FUN_003ac4d0(0x1a0);
                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */
    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);
    piVar4[0x4f] = 0;
    piVar4[0x50] = 0;
    piVar4[0x51] = 0;
    piVar4[0x52] = 0;
    piVar4[0x53] = 0;
    piVar4[0x54] = 0;
    piVar4[0x55] = 0;
    piVar4[0x56] = 0;
    piVar4[0x58] = 0;
    piVar4[0x5a] = 0;
    piVar4[0x5b] = 0;
    piVar4[0x5e] = 0;
    piVar4[0x5f] = 0;
    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);
    piVar4[0x5c] = (int)(piVar4 + 0x5a);
    piVar4[0x5d] = (int)(piVar4 + 0x5a);
    uVar6 = 0;
    do {
      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;
      uVar6 = uVar6 + 4;
    } while (uVar6 < 0x1c);
    piVar4[0x60] = (int)(piVar4 + 0x66);
    *(undefined2 *)(piVar4 + 0x67) = 0x100;
    piVar4[0x61] = 1;
    piVar4[0x62] = 0;
    piVar4[99] = 0;
    piVar4[100] = 0x3f800000;
    piVar4[0x65] = 0;
    piVar4[0x66] = 0;
    FUN_00294830(piVar4);
    puVar8 = (undefined4 *)piVar4[10];
    puVar7 = (undefined4 *)0x0;
    if (puVar8 != (undefined4 *)0x0) {
      if ((undefined4 *)0x3fffffff < puVar8) {
                    /* WARNING: Subroutine does not return */
        FUN_003f38c0();
      }
      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);
      puVar8 = puVar7 + (int)puVar8;
      puVar9 = puVar7;
      do {
        *puVar9 = 0;
        puVar9 = puVar9 + 1;
      } while (puVar9 != puVar8);
    }
    iVar2 = piVar4[0x4f];
    piVar4[0x50] = (int)puVar8;
    piVar4[0x4f] = (int)puVar7;
    piVar4[0x51] = (int)puVar8;
    if (iVar2 != 0) {
      FUN_003ae080(iVar2);
    }
    return piVar4;
  }
  if (uVar10 == 2) {
    cVar3 = FUN_0023df40(param_3);
    if (cVar3 != '\0') goto LAB_00142934;
  }
  else if (uVar10 == 3) {
    piVar4 = (int *)FUN_003ac4d0(0x8c);
                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */
    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);
    piVar4[0x21] = 0;
    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);
    piVar4[0x22] = 0;
    FUN_00237500(piVar4);
    return piVar4;
  }
  uVar1 = *param_2;
  uVar5 = gettext(unaff_EDI + 0x324297);
  FUN_0023b810(uVar5,uVar1,uVar10);
  return (int *)0x0;
}


PUSH EBP
MOV EBP,ESP
PUSH EDI
CALL 0x00074f0a
ADD EDI,0x4a77b7
PUSH ESI
PUSH EBX
SUB ESP,0x1c
MOV EAX,dword ptr [EBP + 0x14]
MOV EDX,dword ptr [EBP + 0x18]
MOV dword ptr [EBP + -0x20],EAX
MOV EAX,dword ptr [EBP + 0x1c]
MOV dword ptr [EBP + -0x1c],EDX
MOV EAX,dword ptr [EAX]
MOVZX ESI,word ptr [EAX + 0x10]
ROL SI,0x8
MOVZX ESI,SI
CMP ESI,0x1
JZ 0x00142934
CMP ESI,0x2
JZ 0x00142920
CMP ESI,0x3
JNZ 0x001428e8
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x8c
CALL 0x003ac4d0
MOV ESI,EAX
POP EAX
POP EDX
PUSH dword ptr [EBP + 0x1c]
PUSH dword ptr [EBP + -0x1c]
PUSH dword ptr [EBP + -0x20]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0xc]
PUSH ESI
CALL 0x0023a250
ADD ESP,0x14
LEA EAX,[EDI + 0xffff562c]
MOV dword ptr [ESI + 0x84],0x0
MOV dword ptr [ESI],EAX
MOV dword ptr [ESI + 0x88],0x0
PUSH ESI
CALL 0x00237500
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EAX,dword ptr [EBP + 0xc]
SUB ESP,0xc
MOV EBX,EDI
MOV EAX,dword ptr [EAX]
MOV dword ptr [EBP + -0x20],EAX
LEA EAX,[EDI + 0xffe7cae0]
PUSH EAX
CALL 0x00039440
ADD ESP,0xc
PUSH ESI
XOR ESI,ESI
PUSH dword ptr [EBP + -0x20]
PUSH EAX
CALL 0x0023b810
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
MOV EAX,ESI
POP EBX
POP ESI
POP EDI
POP EBP
RET
SUB ESP,0xc
PUSH dword ptr [EBP + 0x10]
MOV EBX,EDI
CALL 0x0023df40
ADD ESP,0x10
TEST AL,AL
JZ 0x001428e8
SUB ESP,0xc
MOV EBX,EDI
PUSH 0x1a0
CALL 0x003ac4d0
MOV ESI,EAX
POP EAX
POP EDX
PUSH dword ptr [EBP + 0x1c]
PUSH dword ptr [EBP + -0x1c]
PUSH dword ptr [EBP + -0x20]
PUSH dword ptr [EBP + 0x10]
PUSH dword ptr [EBP + 0xc]
PUSH ESI
CALL 0x0029f2f0
LEA EAX,[EDI + 0xffff6130]
ADD ESP,0x20
XOR EDX,EDX
MOV dword ptr [ESI + 0x13c],0x0
MOV dword ptr [ESI + 0x140],0x0
MOV dword ptr [ESI + 0x144],0x0
MOV dword ptr [ESI + 0x148],0x0
MOV dword ptr [ESI + 0x14c],0x0
MOV dword ptr [ESI + 0x150],0x0
MOV dword ptr [ESI + 0x154],0x0
MOV dword ptr [ESI + 0x158],0x0
MOV dword ptr [ESI + 0x160],0x0
MOV dword ptr [ESI + 0x168],0x0
MOV dword ptr [ESI + 0x16c],0x0
MOV dword ptr [ESI + 0x178],0x0
MOV dword ptr [ESI + 0x17c],0x0
MOV dword ptr [ESI],EAX
LEA EAX,[ESI + 0x168]
MOV dword ptr [ESI + 0x170],EAX
MOV dword ptr [ESI + 0x174],EAX
XOR EAX,EAX
MOV dword ptr [ESI + EAX*0x1 + 0x180],EDX
ADD EAX,0x4
CMP EAX,0x1c
JC 0x001429ff
LEA EAX,[ESI + 0x198]
MOV ECX,0x100
SUB ESP,0xc
MOV EBX,EDI
MOV dword ptr [ESI + 0x180],EAX
MOV word ptr [ESI + 0x19c],CX
MOV dword ptr [ESI + 0x184],0x1
MOV dword ptr [ESI + 0x188],0x0
MOV dword ptr [ESI + 0x18c],0x0
MOV dword ptr [ESI + 0x190],0x3f800000
MOV dword ptr [ESI + 0x194],0x0
MOV dword ptr [ESI + 0x198],0x0
PUSH ESI
CALL 0x00294830
MOV ECX,dword ptr [ESI + 0x28]
ADD ESP,0x10
XOR EAX,EAX
TEST ECX,ECX
JZ 0x00142aad
CMP ECX,0x3fffffff
JA 0x00142ae0
LEA EAX,[ECX*0x4 + 0x0]
SUB ESP,0xc
PUSH EAX
MOV dword ptr [EBP + -0x20],EAX
CALL 0x003ac4d0
MOV ECX,dword ptr [EBP + -0x20]
ADD ESP,0x10
MOV EDX,EAX
ADD ECX,EAX
NOP
MOV dword ptr [EDX],0x0
ADD EDX,0x4
CMP EDX,ECX
JNZ 0x00142aa0
MOV EDX,dword ptr [ESI + 0x13c]
MOV dword ptr [ESI + 0x140],ECX
MOV dword ptr [ESI + 0x13c],EAX
MOV dword ptr [ESI + 0x144],ECX
TEST EDX,EDX
JZ 0x001428d7
SUB ESP,0xc
MOV EBX,EDI
PUSH EDX
CALL 0x003ae080
ADD ESP,0x10
JMP 0x001428d7
CALL 0x003f38c0
(translation_unit "int * FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}\n\n" (function_definition "int * FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" * (function_declarator "FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "int *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) )))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00074f0a();" (call_expression "FUN_00074f0a()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;" (assignment_expression "uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8" identifier = (binary_expression "*(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8" (binary_expression "*(ushort *)(*param_6 + 0x10) << 8" (pointer_expression "*(ushort *)(*param_6 + 0x10)" * (cast_expression "(ushort *)(*param_6 + 0x10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_6 + 0x10)" ( (binary_expression "*param_6 + 0x10" (pointer_expression "*param_6" * identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(*param_6 + 0x10) >> 8" (pointer_expression "*(ushort *)(*param_6 + 0x10)" * (cast_expression "(ushort *)(*param_6 + 0x10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_6 + 0x10)" ( (binary_expression "*param_6 + 0x10" (pointer_expression "*param_6" * identifier) + number_literal) )))) >> number_literal))) ;) (if_statement "if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }" { (labeled_statement "LAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);" statement_identifier : (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x1a0);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x1a0)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x1a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x1a0)" identifier (argument_list "(0x1a0)" ( number_literal ))))) ;)) comment (expression_statement "FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);" (call_expression "FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6)" identifier (argument_list "(piVar4,param_2,param_3,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "piVar4[0x4f] = 0;" (assignment_expression "piVar4[0x4f] = 0" (subscript_expression "piVar4[0x4f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x50] = 0;" (assignment_expression "piVar4[0x50] = 0" (subscript_expression "piVar4[0x50]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x51] = 0;" (assignment_expression "piVar4[0x51] = 0" (subscript_expression "piVar4[0x51]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x52] = 0;" (assignment_expression "piVar4[0x52] = 0" (subscript_expression "piVar4[0x52]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x53] = 0;" (assignment_expression "piVar4[0x53] = 0" (subscript_expression "piVar4[0x53]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x54] = 0;" (assignment_expression "piVar4[0x54] = 0" (subscript_expression "piVar4[0x54]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x55] = 0;" (assignment_expression "piVar4[0x55] = 0" (subscript_expression "piVar4[0x55]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x56] = 0;" (assignment_expression "piVar4[0x56] = 0" (subscript_expression "piVar4[0x56]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x58] = 0;" (assignment_expression "piVar4[0x58] = 0" (subscript_expression "piVar4[0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5a] = 0;" (assignment_expression "piVar4[0x5a] = 0" (subscript_expression "piVar4[0x5a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5b] = 0;" (assignment_expression "piVar4[0x5b] = 0" (subscript_expression "piVar4[0x5b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5e] = 0;" (assignment_expression "piVar4[0x5e] = 0" (subscript_expression "piVar4[0x5e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5f] = 0;" (assignment_expression "piVar4[0x5f] = 0" (subscript_expression "piVar4[0x5f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);" (assignment_expression "*piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b)" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)("small_common_section_flags" + unaff_EDI + 0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("small_common_section_flags" + unaff_EDI + 0x1b)" ( (binary_expression ""small_common_section_flags" + unaff_EDI + 0x1b" (binary_expression ""small_common_section_flags" + unaff_EDI" (string_literal ""small_common_section_flags"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "piVar4[0x5c] = (int)(piVar4 + 0x5a);" (assignment_expression "piVar4[0x5c] = (int)(piVar4 + 0x5a)" (subscript_expression "piVar4[0x5c]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 0x5a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 0x5a)" ( (binary_expression "piVar4 + 0x5a" identifier + number_literal) )))) ;) (expression_statement "piVar4[0x5d] = (int)(piVar4 + 0x5a);" (assignment_expression "piVar4[0x5d] = (int)(piVar4 + 0x5a)" (subscript_expression "piVar4[0x5d]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 0x5a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 0x5a)" ( (binary_expression "piVar4 + 0x5a" identifier + number_literal) )))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);" do (compound_statement "{\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    }" { (expression_statement "*(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;" (assignment_expression "*(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0" (pointer_expression "*(undefined4 *)((int)piVar4 + uVar6 + 0x180)" * (cast_expression "(undefined4 *)((int)piVar4 + uVar6 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + uVar6 + 0x180)" ( (binary_expression "(int)piVar4 + uVar6 + 0x180" (binary_expression "(int)piVar4 + uVar6" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = uVar6 + 4;" (assignment_expression "uVar6 = uVar6 + 4" identifier = (binary_expression "uVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < 0x1c)" ( (binary_expression "uVar6 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar4[0x60] = (int)(piVar4 + 0x66);" (assignment_expression "piVar4[0x60] = (int)(piVar4 + 0x66)" (subscript_expression "piVar4[0x60]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 0x66)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 0x66)" ( (binary_expression "piVar4 + 0x66" identifier + number_literal) )))) ;) (expression_statement "*(undefined2 *)(piVar4 + 0x67) = 0x100;" (assignment_expression "*(undefined2 *)(piVar4 + 0x67) = 0x100" (pointer_expression "*(undefined2 *)(piVar4 + 0x67)" * (cast_expression "(undefined2 *)(piVar4 + 0x67)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x67)" ( (binary_expression "piVar4 + 0x67" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x61] = 1;" (assignment_expression "piVar4[0x61] = 1" (subscript_expression "piVar4[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x62] = 0;" (assignment_expression "piVar4[0x62] = 0" (subscript_expression "piVar4[0x62]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[99] = 0;" (assignment_expression "piVar4[99] = 0" (subscript_expression "piVar4[99]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[100] = 0x3f800000;" (assignment_expression "piVar4[100] = 0x3f800000" (subscript_expression "piVar4[100]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x65] = 0;" (assignment_expression "piVar4[0x65] = 0" (subscript_expression "piVar4[0x65]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x66] = 0;" (assignment_expression "piVar4[0x66] = 0" (subscript_expression "piVar4[0x66]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00294830(piVar4);" (call_expression "FUN_00294830(piVar4)" identifier (argument_list "(piVar4)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)piVar4[10];" (assignment_expression "puVar8 = (undefined4 *)piVar4[10]" identifier = (cast_expression "(undefined4 *)piVar4[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ;) (expression_statement "puVar7 = (undefined4 *)0x0;" (assignment_expression "puVar7 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }" { (if_statement "if ((undefined4 *)0x3fffffff < puVar8) {\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }" if (parenthesized_expression "((undefined4 *)0x3fffffff < puVar8)" ( (binary_expression "(undefined4 *)0x3fffffff < puVar8" (cast_expression "(undefined4 *)0x3fffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        FUN_003f38c0();\n      }" { comment (expression_statement "FUN_003f38c0();" (call_expression "FUN_003f38c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);" (assignment_expression "puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0((int)puVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0((int)puVar8 * 4)" identifier (argument_list "((int)puVar8 * 4)" ( (binary_expression "(int)puVar8 * 4" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) (expression_statement "puVar8 = puVar7 + (int)puVar8;" (assignment_expression "puVar8 = puVar7 + (int)puVar8" identifier = (binary_expression "puVar7 + (int)puVar8" identifier + (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar9 = puVar7;" (assignment_expression "puVar9 = puVar7" identifier = identifier) ;) (do_statement "do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);" do (compound_statement "{\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      }" { (expression_statement "*puVar9 = 0;" (assignment_expression "*puVar9 = 0" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar9 != puVar8)" ( (binary_expression "puVar9 != puVar8" identifier != identifier) )) ;) })) (expression_statement "iVar2 = piVar4[0x4f];" (assignment_expression "iVar2 = piVar4[0x4f]" identifier = (subscript_expression "piVar4[0x4f]" identifier [ number_literal ])) ;) (expression_statement "piVar4[0x50] = (int)puVar8;" (assignment_expression "piVar4[0x50] = (int)puVar8" (subscript_expression "piVar4[0x50]" identifier [ number_literal ]) = (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x4f] = (int)puVar7;" (assignment_expression "piVar4[0x4f] = (int)puVar7" (subscript_expression "piVar4[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x51] = (int)puVar8;" (assignment_expression "piVar4[0x51] = (int)puVar8" (subscript_expression "piVar4[0x51]" identifier [ number_literal ]) = (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_003ae080(iVar2);\n    }" { (expression_statement "FUN_003ae080(iVar2);" (call_expression "FUN_003ae080(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (return_statement "return piVar4;" return identifier ;) })) (if_statement "if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" if (parenthesized_expression "(uVar10 == 2)" ( (binary_expression "uVar10 == 2" identifier == number_literal) )) (compound_statement "{\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }" { (expression_statement "cVar3 = FUN_0023df40(param_3);" (assignment_expression "cVar3 = FUN_0023df40(param_3)" identifier = (call_expression "FUN_0023df40(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (cVar3 != '\0') goto LAB_00142934;" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00142934;" goto statement_identifier ;)) }) (else_clause "else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" else (if_statement "if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" if (parenthesized_expression "(uVar10 == 3)" ( (binary_expression "uVar10 == 3" identifier == number_literal) )) (compound_statement "{\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" { (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x8c);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x8c)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x8c)" identifier (argument_list "(0x8c)" ( number_literal ))))) ;) comment (expression_statement "FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);" (call_expression "FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6)" identifier (argument_list "(piVar4,param_2,param_3,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "piVar4[0x21] = 0;" (assignment_expression "piVar4[0x21] = 0" (subscript_expression "piVar4[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);" (assignment_expression "*piVar4 = (int)(&UNK_0049cde3 + unaff_EDI)" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)(&UNK_0049cde3 + unaff_EDI)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&UNK_0049cde3 + unaff_EDI)" ( (binary_expression "&UNK_0049cde3 + unaff_EDI" (pointer_expression "&UNK_0049cde3" & identifier) + identifier) )))) ;) (expression_statement "piVar4[0x22] = 0;" (assignment_expression "piVar4[0x22] = 0" (subscript_expression "piVar4[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00237500(piVar4);" (call_expression "FUN_00237500(piVar4)" identifier (argument_list "(piVar4)" ( identifier ))) ;) (return_statement "return piVar4;" return identifier ;) })))) (expression_statement "uVar1 = *param_2;" (assignment_expression "uVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = gettext(unaff_EDI + 0x324297);" (assignment_expression "uVar5 = gettext(unaff_EDI + 0x324297)" identifier = (call_expression "gettext(unaff_EDI + 0x324297)" identifier (argument_list "(unaff_EDI + 0x324297)" ( (binary_expression "unaff_EDI + 0x324297" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar5,uVar1,uVar10);" (call_expression "FUN_0023b810(uVar5,uVar1,uVar10)" identifier (argument_list "(uVar5,uVar1,uVar10)" ( identifier , identifier , identifier ))) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit "/* WARNING: Type propagation algorithm not settling */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "<anon>": Some values do not have unique names */\n/* DWARF original prototype: Object * do_make_elf_object(Target_arm<true> * this, string * name,\n   Input_file * input_file, off_t offset, Ehdr<32,_true> * ehdr) */\n\nObject * __thiscall\nanon_unknown.dwarf_91258a::Target_arm<true>::do_make_elf_object\n          (Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,\n          Ehdr<32,_true> *ehdr)\n\n{\n  undefined1 *puVar1;\n  ushort uVar2;\n  pointer pcVar3;\n  bool bVar4;\n  Sized_dynobj<32,_true> *this_00;\n  char *format;\n  Sized_relobj_file<32,_true> *this_01;\n  _func_int_varargs **pp_Var5;\n  _func_int_varargs **pp_Var6;\n  _func_int_varargs **pp_Var7;\n  uint uVar8;\n  int unaff_EDI;\n  \n  __x86_get_pc_thunk_di();\n  uVar2 = ehdr->p_->e_type;\n  uVar8 = (uint)(ushort)(uVar2 << 8 | uVar2 >> 8);\n  if (uVar8 == 1) {\nLAB_00142934:\n    this_01 = (Sized_relobj_file<32,_true> *)operator_new(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    gold::Sized_relobj_file<32,_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr);\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2.\n    _M_allocated_capacity = 0;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4) = 0\n    ;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8) = 0\n    ;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc) =\n         0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.input_file_ =\n         (Input_file *)0x0;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4) = 0;\n    *(undefined4 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c = 0\n    ;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_ = (Xindex *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)("small_common_section_flags" + unaff_EDI + 0x1b);\n    puVar1 = &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.compressed_sections_ =\n         (Compressed_section_map *)puVar1;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)puVar1;\n    uVar8 = 0;\n    do {\n      *(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8) = 0;\n      uVar8 = uVar8 + 4;\n    } while (uVar8 < 0x1c);\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0;\n    gold::Sized_relobj_file<32,_true>::do_setup(this_01);\n    pp_Var6 = (_func_int_varargs **)\n              (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_;\n    pp_Var5 = (_func_int_varargs **)0x0;\n    if (pp_Var6 != (_func_int_varargs **)0x0) {\n      if ((_func_int_varargs **)0x3fffffff < pp_Var6) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_bad_alloc();\n      }\n      pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4);\n      pp_Var6 = pp_Var5 + (int)pp_Var6;\n      pp_Var7 = pp_Var5;\n      do {\n        *pp_Var7 = (_func_int_varargs *)0x0;\n        pp_Var7 = pp_Var7 + 1;\n      } while (pp_Var7 != pp_Var6);\n    }\n    pp_Var7 = this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)pp_Var6;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object = pp_Var5;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length =\n         (size_type)pp_Var6;\n    if (pp_Var7 != (_func_int_varargs **)0x0) {\n      operator_delete(pp_Var7);\n    }\n    return (Object *)this_01;\n  }\n  if (uVar8 == 2) {\n    bVar4 = gold::Input_file::just_symbols(input_file);\n    if (bVar4) goto LAB_00142934;\n  }\n  else if (uVar8 == 3) {\n    this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    gold::Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);\n    this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    (this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)\n    ;\n    this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n    gold::Sized_dynobj<32,_true>::setup(this_00);\n    return (Object *)this_00;\n  }\n  pcVar3 = (name->_M_dataplus)._M_p;\n  format = (char *)gettext(&UNK_00324297 + unaff_EDI);\n  gold::gold_error(format,pcVar3,uVar8);\n  return (Object *)0x0;\n}\n\n" comment comment comment comment (expression_statement "Object * __thiscall\nanon_unknown.dwarf_91258a::Target_arm<true>::do_make_elf_object\n          (Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,\n          Ehdr<32,_true> *ehdr)\n\n{\n  undefined1 *puVar1;" (update_expression "Object * __thiscall\nanon_unknown.dwarf_91258a::Target_arm<true>::do_make_elf_object\n          (Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,\n          Ehdr<32,_true> *ehdr)\n\n{\n  undefined1 *puVar1" (binary_expression "Object * __thiscall\nanon_unknown.dwarf_91258a::Target_arm<true>::do_make_elf_object\n          (Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,\n          Ehdr<32,_true> *ehdr)\n\n{\n  undefined1 *puVar1" (binary_expression "Object * __thiscall\nanon_unknown.dwarf_91258a::Target_arm<true" (binary_expression "Object * __thiscall\nanon_unknown.dwarf_91258a" identifier * (ERROR "__thiscall" identifier) (field_expression "anon_unknown.dwarf_91258a" identifier . field_identifier)) (ERROR "::Target_arm" : : identifier) < true) > (ERROR "::do_make_elf_object\n          (Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,\n          Ehdr<32,_true> *ehdr)\n\n{" : : (call_expression "do_make_elf_object\n          (Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,\n          Ehdr<32,_true> *ehdr)" identifier (argument_list "(Target_arm<true> *this,string *name,Input_file *input_file,off_t offset,\n          Ehdr<32,_true> *ehdr)" ( (binary_expression "Target_arm<true> *this" (binary_expression "Target_arm<true" identifier < true) > (pointer_expression "*this" * identifier)) , (binary_expression "string *name" identifier * identifier) , (binary_expression "Input_file *input_file" identifier * identifier) , (ERROR "off_t" identifier) identifier , (binary_expression "Ehdr<32" identifier < number_literal) , (binary_expression "_true> *ehdr" identifier > (pointer_expression "*ehdr" * identifier)) ))) {) (binary_expression "undefined1 *puVar1" identifier * identifier)) --) ;) (declaration "ushort uVar2;" type_identifier identifier ;) (declaration "pointer pcVar3;" type_identifier identifier ;) (declaration "bool bVar4;" primitive_type identifier ;) (expression_statement "Sized_dynobj<32,_true> *this_00;" (update_expression "Sized_dynobj<32,_true> *this_00" (binary_expression "Sized_dynobj<32,_true> *this_00" (binary_expression "Sized_dynobj<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*this_00" * identifier)) --) ;) (declaration "char *format;" primitive_type (pointer_declarator "*format" * identifier) ;) (expression_statement "Sized_relobj_file<32,_true> *this_01;" (update_expression "Sized_relobj_file<32,_true> *this_01" (binary_expression "Sized_relobj_file<32,_true> *this_01" (binary_expression "Sized_relobj_file<32" identifier < number_literal) (ERROR ",_true" , identifier) > (pointer_expression "*this_01" * identifier)) --) ;) (declaration "_func_int_varargs **pp_Var5;" type_identifier (pointer_declarator "**pp_Var5" * (pointer_declarator "*pp_Var5" * identifier)) ;) (declaration "_func_int_varargs **pp_Var6;" type_identifier (pointer_declarator "**pp_Var6" * (pointer_declarator "*pp_Var6" * identifier)) ;) (declaration "_func_int_varargs **pp_Var7;" type_identifier (pointer_declarator "**pp_Var7" * (pointer_declarator "*pp_Var7" * identifier)) ;) (declaration "uint uVar8;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "__x86_get_pc_thunk_di();" (call_expression "__x86_get_pc_thunk_di()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar2 = ehdr->p_->e_type;" (assignment_expression "uVar2 = ehdr->p_->e_type" identifier = (field_expression "ehdr->p_->e_type" (field_expression "ehdr->p_" identifier -> field_identifier) -> field_identifier)) ;) (expression_statement "uVar8 = (uint)(ushort)(uVar2 << 8 | uVar2 >> 8);" (assignment_expression "uVar8 = (uint)(ushort)(uVar2 << 8 | uVar2 >> 8)" identifier = (call_expression "(uint)(ushort)(uVar2 << 8 | uVar2 >> 8)" (call_expression "(uint)(ushort)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(ushort)" ( identifier ))) (argument_list "(uVar2 << 8 | uVar2 >> 8)" ( (binary_expression "uVar2 << 8 | uVar2 >> 8" (binary_expression "uVar2 << 8" identifier << number_literal) | (binary_expression "uVar2 >> 8" identifier >> number_literal)) )))) ;) (if_statement "if (uVar8 == 1) {\nLAB_00142934:\n    this_01 = (Sized_relobj_file<32,_true> *)operator_new(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    gold::Sized_relobj_file<32,_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr);\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2.\n    _M_allocated_capacity = 0;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4) = 0\n    ;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8) = 0\n    ;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc) =\n         0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.input_file_ =\n         (Input_file *)0x0;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4) = 0;\n    *(undefined4 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c = 0\n    ;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_ = (Xindex *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)("small_common_section_flags" + unaff_EDI + 0x1b);\n    puVar1 = &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.compressed_sections_ =\n         (Compressed_section_map *)puVar1;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)puVar1;\n    uVar8 = 0;\n    do {\n      *(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8) = 0;\n      uVar8 = uVar8 + 4;\n    } while (uVar8 < 0x1c);\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0;\n    gold::Sized_relobj_file<32,_true>::do_setup(this_01);\n    pp_Var6 = (_func_int_varargs **)\n              (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_;\n    pp_Var5 = (_func_int_varargs **)0x0;\n    if (pp_Var6 != (_func_int_varargs **)0x0) {\n      if ((_func_int_varargs **)0x3fffffff < pp_Var6) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_bad_alloc();\n      }\n      pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4);\n      pp_Var6 = pp_Var5 + (int)pp_Var6;\n      pp_Var7 = pp_Var5;\n      do {\n        *pp_Var7 = (_func_int_varargs *)0x0;\n        pp_Var7 = pp_Var7 + 1;\n      } while (pp_Var7 != pp_Var6);\n    }\n    pp_Var7 = this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)pp_Var6;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object = pp_Var5;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length =\n         (size_type)pp_Var6;\n    if (pp_Var7 != (_func_int_varargs **)0x0) {\n      operator_delete(pp_Var7);\n    }\n    return (Object *)this_01;\n  }" if (parenthesized_expression "(uVar8 == 1)" ( (binary_expression "uVar8 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00142934:\n    this_01 = (Sized_relobj_file<32,_true> *)operator_new(0x1a0);\n                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */\n    gold::Sized_relobj_file<32,_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr);\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2.\n    _M_allocated_capacity = 0;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4) = 0\n    ;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8) = 0\n    ;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc) =\n         0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.input_file_ =\n         (Input_file *)0x0;\n    *(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4) = 0;\n    *(undefined4 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c = 0\n    ;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_ = (Xindex *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;\n    (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)("small_common_section_flags" + unaff_EDI + 0x1b);\n    puVar1 = &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.compressed_sections_ =\n         (Compressed_section_map *)puVar1;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::Output_section*>_>._M_impl.\n    _M_start = (pointer)puVar1;\n    uVar8 = 0;\n    do {\n      *(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8) = 0;\n      uVar8 = uVar8 + 4;\n    } while (uVar8 < 0x1c);\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0;\n    gold::Sized_relobj_file<32,_true>::do_setup(this_01);\n    pp_Var6 = (_func_int_varargs **)\n              (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_;\n    pp_Var5 = (_func_int_varargs **)0x0;\n    if (pp_Var6 != (_func_int_varargs **)0x0) {\n      if ((_func_int_varargs **)0x3fffffff < pp_Var6) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_bad_alloc();\n      }\n      pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4);\n      pp_Var6 = pp_Var5 + (int)pp_Var6;\n      pp_Var7 = pp_Var5;\n      do {\n        *pp_Var7 = (_func_int_varargs *)0x0;\n        pp_Var7 = pp_Var7 + 1;\n      } while (pp_Var7 != pp_Var6);\n    }\n    pp_Var7 = this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)pp_Var6;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object = pp_Var5;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length =\n         (size_type)pp_Var6;\n    if (pp_Var7 != (_func_int_varargs **)0x0) {\n      operator_delete(pp_Var7);\n    }\n    return (Object *)this_01;\n  }" { (labeled_statement "LAB_00142934:\n    this_01 = (Sized_relobj_file<32,_true> *)operator_new(0x1a0);" statement_identifier : (expression_statement "this_01 = (Sized_relobj_file<32,_true> *)operator_new(0x1a0);" (assignment_expression "this_01 = (Sized_relobj_file<32,_true> *)operator_new(0x1a0)" identifier = (parenthesized_expression "(Sized_relobj_file<32,_true> *)operator_new(0x1a0)" ( (comma_expression "Sized_relobj_file<32,_true> *)operator_new(0x1a0)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true> *)operator_new(0x1a0)" identifier > (pointer_expression "*)operator_new(0x1a0)" * (ERROR ")" )) (call_expression "operator_new(0x1a0)" identifier (argument_list "(0x1a0)" ( number_literal )))))) ))) ;)) comment (labeled_statement "gold::Sized_relobj_file<32,_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_relobj_file<32,_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr);" (comma_expression "Sized_relobj_file<32,_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::Sized_relobj_file(this_01,name,input_file,offset,ehdr)" identifier > (ERROR "::" : :) (call_expression "Sized_relobj_file(this_01,name,input_file,offset,ehdr)" identifier (argument_list "(this_01,name,input_file,offset,ehdr)" ( identifier , identifier , identifier , identifier , identifier ))))) ;)) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)0x0;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)0x0" (field_expression "_true>.super_Relobj.super_Object._vptr_Object" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal))) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)0x0;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)0x0" (field_expression "_true>.super_Relobj.super_Object.name_._M_dataplus._M_p" (field_expression "_true>.super_Relobj.super_Object.name_._M_dataplus" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal))) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length = 0;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length = 0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.name_._M_string_length = 0" (field_expression "_true>.super_Relobj.super_Object.name_._M_string_length" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal)) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2.\n    _M_allocated_capacity = 0;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2.\n    _M_allocated_capacity = 0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.name_.field_2.\n    _M_allocated_capacity = 0" (field_expression "_true>.super_Relobj.super_Object.name_.field_2.\n    _M_allocated_capacity" (field_expression "_true>.super_Relobj.super_Object.name_.field_2" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = number_literal)) ;) (expression_statement "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4) = 0\n    ;" (assignment_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4) = 0" (pointer_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4)" * (cast_expression "(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4)" ( (comma_expression "(int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 4" (binary_expression "(int)&this_01[1].super_Sized_relobj<32" (cast_expression "(int)&this_01[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.super_Object.name_.field_2 + 4" (field_expression "_true>.super_Relobj.super_Object.name_.field_2" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8) = 0\n    ;" (assignment_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8) = 0" (pointer_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8)" * (cast_expression "(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8)" ( (comma_expression "(int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 8" (binary_expression "(int)&this_01[1].super_Sized_relobj<32" (cast_expression "(int)&this_01[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.super_Object.name_.field_2 + 8" (field_expression "_true>.super_Relobj.super_Object.name_.field_2" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc) =\n         0;" (assignment_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc) =\n         0" (pointer_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc)" * (cast_expression "(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc)" ( (comma_expression "(int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_.field_2 + 0xc" (binary_expression "(int)&this_01[1].super_Sized_relobj<32" (cast_expression "(int)&this_01[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.super_Object.name_.field_2 + 0xc" (field_expression "_true>.super_Relobj.super_Object.name_.field_2" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) = number_literal) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.input_file_ =\n         (Input_file *)0x0;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.input_file_ =\n         (Input_file *)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.input_file_ =\n         (Input_file *)0x0" (field_expression "_true>.super_Relobj.super_Object.input_file_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Input_file *)0x0" ( (type_descriptor "Input_file *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (expression_statement "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4) = 0;" (assignment_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4) = 0" (pointer_expression "*(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4)" * (cast_expression "(undefined4 *)\n     ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4)" ( (comma_expression "(int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.offset_ + 4" (binary_expression "(int)&this_01[1].super_Sized_relobj<32" (cast_expression "(int)&this_01[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.super_Object.offset_ + 4" (field_expression "_true>.super_Relobj.super_Object.offset_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) + number_literal)) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c = 0\n    ;" (comma_expression "*(undefined4 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c = 0" (binary_expression "*(undefined4 *)&this_01[1].super_Sized_relobj<32" (pointer_expression "*(undefined4 *)&this_01[1].super_Sized_relobj" * (cast_expression "(undefined4 *)&this_01[1].super_Sized_relobj" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.field_0x2c = 0" (field_expression "_true>.super_Relobj.super_Object.field_0x2c" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = number_literal)) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_ = (Xindex *)0x0;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.xindex_ = (Xindex *)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.xindex_ = (Xindex *)0x0" (field_expression "_true>.super_Relobj.super_Object.xindex_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Xindex *)0x0" ( (type_descriptor "Xindex *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (ERROR "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (binary_expression "_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold" (field_expression "_true>.super_Relobj.output_sections_.\n    super__Vector_base" (field_expression "_true>.super_Relobj.output_sections_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) < identifier)) : : identifier * , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0;" (assignment_expression "Output_section*>_>._M_impl.\n    _M_finish = (pointer)0x0" (field_expression "Output_section*>_>._M_impl.\n    _M_finish" (field_expression "Output_section*>_>._M_impl" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (ERROR "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (binary_expression "_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold" (field_expression "_true>.super_Relobj.output_sections_.\n    super__Vector_base" (field_expression "_true>.super_Relobj.output_sections_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) < identifier)) : : identifier * , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0;" (assignment_expression "Output_section*>_>._M_impl.\n    _M_end_of_storage = (pointer)0x0" (field_expression "Output_section*>_>._M_impl.\n    _M_end_of_storage" (field_expression "Output_section*>_>._M_impl" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (expression_statement "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)("small_common_section_flags" + unaff_EDI + 0x1b);" (assignment_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object =\n         (_func_int_varargs **)("small_common_section_flags" + unaff_EDI + 0x1b)" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object._vptr_Object" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this_01->super_Sized_relobj<32,_true>)" ( (comma_expression "this_01->super_Sized_relobj<32,_true" (binary_expression "this_01->super_Sized_relobj<32" (field_expression "this_01->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)("small_common_section_flags" + unaff_EDI + 0x1b)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "("small_common_section_flags" + unaff_EDI + 0x1b)" ( (binary_expression ""small_common_section_flags" + unaff_EDI + 0x1b" (binary_expression ""small_common_section_flags" + unaff_EDI" (string_literal ""small_common_section_flags"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "puVar1 = &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c;" (comma_expression "puVar1 = &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.field_0x2c" (assignment_expression "puVar1 = &this_01[1].super_Sized_relobj<32" identifier = (binary_expression "&this_01[1].super_Sized_relobj<32" (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier)) < number_literal)) , (field_expression "_true>.super_Relobj.super_Object.field_0x2c" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.compressed_sections_ =\n         (Compressed_section_map *)puVar1;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.compressed_sections_ =\n         (Compressed_section_map *)puVar1" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.compressed_sections_ =\n         (Compressed_section_map *)puVar1" (field_expression "_true>.super_Relobj.super_Object.compressed_sections_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(Compressed_section_map *)puVar1" ( (type_descriptor "Compressed_section_map *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier))) ;) (ERROR "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold::Output_section*,_std::allocator<gold::" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (binary_expression "_true>.super_Relobj.output_sections_.\n    super__Vector_base<gold" (field_expression "_true>.super_Relobj.output_sections_.\n    super__Vector_base" (field_expression "_true>.super_Relobj.output_sections_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) < identifier)) : : identifier * , identifier : : (binary_expression "allocator<gold" identifier < identifier) : :) (expression_statement "Output_section*>_>._M_impl.\n    _M_start = (pointer)puVar1;" (assignment_expression "Output_section*>_>._M_impl.\n    _M_start = (pointer)puVar1" (field_expression "Output_section*>_>._M_impl.\n    _M_start" (field_expression "Output_section*>_>._M_impl" (binary_expression "Output_section*>_" identifier * (ERROR ">" >) identifier) (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(pointer)puVar1" ( (type_descriptor "pointer" type_identifier) ) identifier)) ;) (expression_statement "uVar8 = 0;" (assignment_expression "uVar8 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8) = 0;\n      uVar8 = uVar8 + 4;\n    } while (uVar8 < 0x1c);" do (compound_statement "{\n      *(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8) = 0;\n      uVar8 = uVar8 + 4;\n    }" { (expression_statement "*(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8) = 0;" (assignment_expression "*(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8) = 0" (pointer_expression "*(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8)" * (cast_expression "(undefined4 *)\n       ((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8)" ( (comma_expression "(int)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8" (binary_expression "(int)&this_01[1].super_Sized_relobj<32" (cast_expression "(int)&this_01[1].super_Sized_relobj" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier))) < number_literal) , (binary_expression "_true>.super_Relobj.map_to_relocatable_relocs_ +\n       uVar8" (field_expression "_true>.super_Relobj.map_to_relocatable_relocs_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) + identifier)) )))) = number_literal) ;) (expression_statement "uVar8 = uVar8 + 4;" (assignment_expression "uVar8 = uVar8 + 4" identifier = (binary_expression "uVar8 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar8 < 0x1c)" ( (binary_expression "uVar8 < 0x1c" identifier < number_literal) )) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.map_to_relocatable_relocs_ =\n         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0" (field_expression "_true>.super_Relobj.map_to_relocatable_relocs_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = (parenthesized_expression "(vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0" ( (ERROR "vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_;\n    *(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1\n    ;\n    *(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;\n    this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0;" (binary_expression "vector<gold" identifier < identifier) : : (type_descriptor "Relocatable_relocs*" type_identifier (abstract_pointer_declarator "*" *)) , identifier : : (binary_expression "allocator<gold" identifier < identifier) : : (comma_expression "Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_" (binary_expression "Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj<32" (binary_expression "Relocatable_relocs*>_> *)\n         &this_01[1].super_Sized_relobj" (binary_expression "Relocatable_relocs*>_" identifier * (ERROR ">" >) identifier) > (pointer_expression "*)\n         &this_01[1].super_Sized_relobj" * (ERROR ")" )) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (field_expression "_true>.super_Relobj.reloc_bases_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier)) ; (comma_expression "*(undefined2 *)&this_01[1].super_Sized_relobj<32,_true>.super_Relobj.first_dyn_reloc_ = 0x100" (binary_expression "*(undefined2 *)&this_01[1].super_Sized_relobj<32" (pointer_expression "*(undefined2 *)&this_01[1].super_Sized_relobj" * (cast_expression "(undefined2 *)&this_01[1].super_Sized_relobj" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (assignment_expression "_true>.super_Relobj.first_dyn_reloc_ = 0x100" (field_expression "_true>.super_Relobj.first_dyn_reloc_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = number_literal)) ; (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1" (field_expression "_true>.super_Relobj.object_merge_map_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(Object_merge_map *)0x1" ( (type_descriptor "Object_merge_map *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (comma_expression "*(undefined4 *)\n     &this_01[1].super_Sized_relobj<32,_true>.super_Relobj.relocs_must_follow_section_writes_ = 0" (binary_expression "*(undefined4 *)\n     &this_01[1].super_Sized_relobj<32" (pointer_expression "*(undefined4 *)\n     &this_01[1].super_Sized_relobj" * (cast_expression "(undefined4 *)\n     &this_01[1].super_Sized_relobj" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&this_01[1].super_Sized_relobj" & (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier)))) < number_literal) , (assignment_expression "_true>.super_Relobj.relocs_must_follow_section_writes_ = 0" (field_expression "_true>.super_Relobj.relocs_must_follow_section_writes_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = number_literal)) ; (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.rd_ = (Read_relocs_data *)0x0" (field_expression "_true>.super_Relobj.rd_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(Read_relocs_data *)0x0" ( (type_descriptor "Read_relocs_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.sd_ = (Symbols_data *)0x3f800000" (field_expression "_true>.super_Relobj.sd_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(Symbols_data *)0x3f800000" ( (type_descriptor "Symbols_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ; (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_counts_ = (uint *)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.reloc_counts_ = (uint *)0x0" (field_expression "_true>.super_Relobj.reloc_counts_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) ;) (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.reloc_bases_ = (uint *)0x0" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.reloc_bases_ = (uint *)0x0" (field_expression "_true>.super_Relobj.reloc_bases_" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) = (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal))) )))) ;) (labeled_statement "gold::Sized_relobj_file<32,_true>::do_setup(this_01);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_relobj_file<32,_true>::do_setup(this_01);" (comma_expression "Sized_relobj_file<32,_true>::do_setup(this_01)" (binary_expression "Sized_relobj_file<32" identifier < number_literal) , (binary_expression "_true>::do_setup(this_01)" identifier > (ERROR "::" : :) (call_expression "do_setup(this_01)" identifier (argument_list "(this_01)" ( identifier ))))) ;)) (expression_statement "pp_Var6 = (_func_int_varargs **)\n              (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_;" (assignment_expression "pp_Var6 = (_func_int_varargs **)\n              (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_" identifier = (cast_expression "(_func_int_varargs **)\n              (this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object.shnum_" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj.super_Object" (field_expression "(this_01->super_Sized_relobj<32,_true>).super_Relobj" (parenthesized_expression "(this_01->super_Sized_relobj<32,_true>)" ( (comma_expression "this_01->super_Sized_relobj<32,_true" (binary_expression "this_01->super_Sized_relobj<32" (field_expression "this_01->super_Sized_relobj" identifier -> field_identifier) < number_literal) , identifier) (ERROR ">" >) )) . field_identifier) . field_identifier) . field_identifier))) ;) (expression_statement "pp_Var5 = (_func_int_varargs **)0x0;" (assignment_expression "pp_Var5 = (_func_int_varargs **)0x0" identifier = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (if_statement "if (pp_Var6 != (_func_int_varargs **)0x0) {\n      if ((_func_int_varargs **)0x3fffffff < pp_Var6) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_bad_alloc();\n      }\n      pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4);\n      pp_Var6 = pp_Var5 + (int)pp_Var6;\n      pp_Var7 = pp_Var5;\n      do {\n        *pp_Var7 = (_func_int_varargs *)0x0;\n        pp_Var7 = pp_Var7 + 1;\n      } while (pp_Var7 != pp_Var6);\n    }" if (parenthesized_expression "(pp_Var6 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var6 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      if ((_func_int_varargs **)0x3fffffff < pp_Var6) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_bad_alloc();\n      }\n      pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4);\n      pp_Var6 = pp_Var5 + (int)pp_Var6;\n      pp_Var7 = pp_Var5;\n      do {\n        *pp_Var7 = (_func_int_varargs *)0x0;\n        pp_Var7 = pp_Var7 + 1;\n      } while (pp_Var7 != pp_Var6);\n    }" { (if_statement "if ((_func_int_varargs **)0x3fffffff < pp_Var6) {\n                    /* WARNING: Subroutine does not return */\n        std::__throw_bad_alloc();\n      }" if (parenthesized_expression "((_func_int_varargs **)0x3fffffff < pp_Var6)" ( (binary_expression "(_func_int_varargs **)0x3fffffff < pp_Var6" (cast_expression "(_func_int_varargs **)0x3fffffff" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) < identifier) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n        std::__throw_bad_alloc();\n      }" { comment (labeled_statement "std::__throw_bad_alloc();" statement_identifier : (ERROR ":" :) (expression_statement "__throw_bad_alloc();" (call_expression "__throw_bad_alloc()" identifier (argument_list "()" ( ))) ;)) })) (expression_statement "pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4);" (assignment_expression "pp_Var5 = (_func_int_varargs **)operator_new((int)pp_Var6 * 4)" identifier = (cast_expression "(_func_int_varargs **)operator_new((int)pp_Var6 * 4)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (call_expression "operator_new((int)pp_Var6 * 4)" identifier (argument_list "((int)pp_Var6 * 4)" ( (binary_expression "(int)pp_Var6 * 4" (cast_expression "(int)pp_Var6" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) (expression_statement "pp_Var6 = pp_Var5 + (int)pp_Var6;" (assignment_expression "pp_Var6 = pp_Var5 + (int)pp_Var6" identifier = (binary_expression "pp_Var5 + (int)pp_Var6" identifier + (cast_expression "(int)pp_Var6" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "pp_Var7 = pp_Var5;" (assignment_expression "pp_Var7 = pp_Var5" identifier = identifier) ;) (do_statement "do {\n        *pp_Var7 = (_func_int_varargs *)0x0;\n        pp_Var7 = pp_Var7 + 1;\n      } while (pp_Var7 != pp_Var6);" do (compound_statement "{\n        *pp_Var7 = (_func_int_varargs *)0x0;\n        pp_Var7 = pp_Var7 + 1;\n      }" { (expression_statement "*pp_Var7 = (_func_int_varargs *)0x0;" (assignment_expression "*pp_Var7 = (_func_int_varargs *)0x0" (pointer_expression "*pp_Var7" * identifier) = (cast_expression "(_func_int_varargs *)0x0" ( (type_descriptor "_func_int_varargs *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pp_Var7 = pp_Var7 + 1;" (assignment_expression "pp_Var7 = pp_Var7 + 1" identifier = (binary_expression "pp_Var7 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(pp_Var7 != pp_Var6)" ( (binary_expression "pp_Var7 != pp_Var6" identifier != identifier) )) ;) })) (expression_statement "pp_Var7 = this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object;" (comma_expression "pp_Var7 = this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object" (assignment_expression "pp_Var7 = this_01[1].super_Sized_relobj<32" identifier = (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal)) , (field_expression "_true>.super_Relobj.super_Object._vptr_Object" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier)) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)pp_Var6;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)pp_Var6" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.name_._M_dataplus._M_p =\n         (pointer)pp_Var6" (field_expression "_true>.super_Relobj.super_Object.name_._M_dataplus._M_p" (field_expression "_true>.super_Relobj.super_Object.name_._M_dataplus" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)pp_Var6" ( (type_descriptor "pointer" type_identifier) ) identifier))) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object = pp_Var5;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object._vptr_Object = pp_Var5" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object._vptr_Object = pp_Var5" (field_expression "_true>.super_Relobj.super_Object._vptr_Object" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) = identifier)) ;) (expression_statement "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length =\n         (size_type)pp_Var6;" (comma_expression "this_01[1].super_Sized_relobj<32,_true>.super_Relobj.super_Object.name_._M_string_length =\n         (size_type)pp_Var6" (binary_expression "this_01[1].super_Sized_relobj<32" (field_expression "this_01[1].super_Sized_relobj" (subscript_expression "this_01[1]" identifier [ number_literal ]) . field_identifier) < number_literal) , (assignment_expression "_true>.super_Relobj.super_Object.name_._M_string_length =\n         (size_type)pp_Var6" (field_expression "_true>.super_Relobj.super_Object.name_._M_string_length" (field_expression "_true>.super_Relobj.super_Object.name_" (field_expression "_true>.super_Relobj.super_Object" (field_expression "_true>.super_Relobj" identifier (ERROR ">" >) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(size_type)pp_Var6" ( (type_descriptor "size_type" type_identifier) ) identifier))) ;) (if_statement "if (pp_Var7 != (_func_int_varargs **)0x0) {\n      operator_delete(pp_Var7);\n    }" if (parenthesized_expression "(pp_Var7 != (_func_int_varargs **)0x0)" ( (binary_expression "pp_Var7 != (_func_int_varargs **)0x0" identifier != (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) )) (compound_statement "{\n      operator_delete(pp_Var7);\n    }" { (expression_statement "operator_delete(pp_Var7);" (call_expression "operator_delete(pp_Var7)" identifier (argument_list "(pp_Var7)" ( identifier ))) ;) })) (return_statement "return (Object *)this_01;" return (cast_expression "(Object *)this_01" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) })) (if_statement "if (uVar8 == 2) {\n    bVar4 = gold::Input_file::just_symbols(input_file);\n    if (bVar4) goto LAB_00142934;\n  }\n  else if (uVar8 == 3) {\n    this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    gold::Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);\n    this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    (this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)\n    ;\n    this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n    gold::Sized_dynobj<32,_true>::setup(this_00);\n    return (Object *)this_00;\n  }" if (parenthesized_expression "(uVar8 == 2)" ( (binary_expression "uVar8 == 2" identifier == number_literal) )) (compound_statement "{\n    bVar4 = gold::Input_file::just_symbols(input_file);\n    if (bVar4) goto LAB_00142934;\n  }" { (ERROR "bVar4 = gold::" (assignment_expression "bVar4 = gold" identifier = identifier) : :) (labeled_statement "Input_file::just_symbols(input_file);" statement_identifier : (ERROR ":" :) (expression_statement "just_symbols(input_file);" (call_expression "just_symbols(input_file)" identifier (argument_list "(input_file)" ( identifier ))) ;)) (if_statement "if (bVar4) goto LAB_00142934;" if (parenthesized_expression "(bVar4)" ( identifier )) (goto_statement "goto LAB_00142934;" goto statement_identifier ;)) }) (else_clause "else if (uVar8 == 3) {\n    this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    gold::Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);\n    this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    (this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)\n    ;\n    this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n    gold::Sized_dynobj<32,_true>::setup(this_00);\n    return (Object *)this_00;\n  }" else (if_statement "if (uVar8 == 3) {\n    this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    gold::Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);\n    this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    (this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)\n    ;\n    this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n    gold::Sized_dynobj<32,_true>::setup(this_00);\n    return (Object *)this_00;\n  }" if (parenthesized_expression "(uVar8 == 3)" ( (binary_expression "uVar8 == 3" identifier == number_literal) )) (compound_statement "{\n    this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c);\n                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */\n    gold::Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);\n    this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0;\n    (this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)\n    ;\n    this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0;\n    gold::Sized_dynobj<32,_true>::setup(this_00);\n    return (Object *)this_00;\n  }" { (expression_statement "this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c);" (assignment_expression "this_00 = (Sized_dynobj<32,_true> *)operator_new(0x8c)" identifier = (parenthesized_expression "(Sized_dynobj<32,_true> *)operator_new(0x8c)" ( (comma_expression "Sized_dynobj<32,_true> *)operator_new(0x8c)" (binary_expression "Sized_dynobj<32" identifier < number_literal) , (binary_expression "_true> *)operator_new(0x8c)" identifier > (pointer_expression "*)operator_new(0x8c)" * (ERROR ")" )) (call_expression "operator_new(0x8c)" identifier (argument_list "(0x8c)" ( number_literal )))))) ))) ;) comment (labeled_statement "gold::Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr);" (comma_expression "Sized_dynobj<32,_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr)" (binary_expression "Sized_dynobj<32" identifier < number_literal) , (binary_expression "_true>::Sized_dynobj(this_00,name,input_file,offset,ehdr)" identifier > (ERROR "::" : :) (call_expression "Sized_dynobj(this_00,name,input_file,offset,ehdr)" identifier (argument_list "(this_00,name,input_file,offset,ehdr)" ( identifier , identifier , identifier , identifier , identifier ))))) ;)) (expression_statement "this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0;" (assignment_expression "this_00[1].super_Dynobj.super_Object._vptr_Object = (_func_int_varargs **)0x0" (field_expression "this_00[1].super_Dynobj.super_Object._vptr_Object" (field_expression "this_00[1].super_Dynobj.super_Object" (field_expression "this_00[1].super_Dynobj" (subscript_expression "this_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)0x0" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) (expression_statement "(this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)\n    ;" (assignment_expression "(this_00->super_Dynobj).super_Object._vptr_Object = (_func_int_varargs **)(unaff_EDI + 0x49cde3)" (field_expression "(this_00->super_Dynobj).super_Object._vptr_Object" (field_expression "(this_00->super_Dynobj).super_Object" (parenthesized_expression "(this_00->super_Dynobj)" ( (field_expression "this_00->super_Dynobj" identifier -> field_identifier) )) . field_identifier) . field_identifier) = (cast_expression "(_func_int_varargs **)(unaff_EDI + 0x49cde3)" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(unaff_EDI + 0x49cde3)" ( (binary_expression "unaff_EDI + 0x49cde3" identifier + number_literal) )))) ;) (expression_statement "this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0;" (assignment_expression "this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (pointer)0x0" (field_expression "this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p" (field_expression "this_00[1].super_Dynobj.super_Object.name_._M_dataplus" (field_expression "this_00[1].super_Dynobj.super_Object.name_" (field_expression "this_00[1].super_Dynobj.super_Object" (field_expression "this_00[1].super_Dynobj" (subscript_expression "this_00[1]" identifier [ number_literal ]) . field_identifier) . field_identifier) . field_identifier) . field_identifier) . field_identifier) = (cast_expression "(pointer)0x0" ( (type_descriptor "pointer" type_identifier) ) number_literal)) ;) (labeled_statement "gold::Sized_dynobj<32,_true>::setup(this_00);" statement_identifier : (ERROR ":" :) (expression_statement "Sized_dynobj<32,_true>::setup(this_00);" (comma_expression "Sized_dynobj<32,_true>::setup(this_00)" (binary_expression "Sized_dynobj<32" identifier < number_literal) , (binary_expression "_true>::setup(this_00)" identifier > (ERROR "::" : :) (call_expression "setup(this_00)" identifier (argument_list "(this_00)" ( identifier ))))) ;)) (return_statement "return (Object *)this_00;" return (cast_expression "(Object *)this_00" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ;) })))) (expression_statement "pcVar3 = (name->_M_dataplus)._M_p;" (assignment_expression "pcVar3 = (name->_M_dataplus)._M_p" identifier = (field_expression "(name->_M_dataplus)._M_p" (parenthesized_expression "(name->_M_dataplus)" ( (field_expression "name->_M_dataplus" identifier -> field_identifier) )) . field_identifier)) ;) (expression_statement "format = (char *)gettext(&UNK_00324297 + unaff_EDI);" (assignment_expression "format = (char *)gettext(&UNK_00324297 + unaff_EDI)" identifier = (cast_expression "(char *)gettext(&UNK_00324297 + unaff_EDI)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "gettext(&UNK_00324297 + unaff_EDI)" identifier (argument_list "(&UNK_00324297 + unaff_EDI)" ( (binary_expression "&UNK_00324297 + unaff_EDI" (pointer_expression "&UNK_00324297" & identifier) + identifier) ))))) ;) (labeled_statement "gold::gold_error(format,pcVar3,uVar8);" statement_identifier : (ERROR ":" :) (expression_statement "gold_error(format,pcVar3,uVar8);" (call_expression "gold_error(format,pcVar3,uVar8)" identifier (argument_list "(format,pcVar3,uVar8)" ( identifier , identifier , identifier ))) ;)) (return_statement "return (Object *)0x0;" return (cast_expression "(Object *)0x0" ( (type_descriptor "Object *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) ;) (ERROR "}" }))
(translation_unit "int * FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}\n\n" (function_definition "int * FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}" primitive_type (pointer_declarator "* FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" * (function_declarator "FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" identifier (parameter_list "(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 *param_2" type_identifier (pointer_declarator "*param_2" * identifier)) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "int *param_6" primitive_type (pointer_declarator "*param_6" * identifier)) )))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}" { (declaration "undefined4 uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "char cVar3;" primitive_type identifier ;) (declaration "int *piVar4;" primitive_type (pointer_declarator "*piVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "uint uVar6;" type_identifier identifier ;) (declaration "undefined4 *puVar7;" type_identifier (pointer_declarator "*puVar7" * identifier) ;) (declaration "undefined4 *puVar8;" type_identifier (pointer_declarator "*puVar8" * identifier) ;) (declaration "undefined4 *puVar9;" type_identifier (pointer_declarator "*puVar9" * identifier) ;) (declaration "ushort uVar10;" type_identifier identifier ;) (declaration "int unaff_EDI;" primitive_type identifier ;) (expression_statement "FUN_00074f0a();" (call_expression "FUN_00074f0a()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;" (assignment_expression "uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8" identifier = (binary_expression "*(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8" (binary_expression "*(ushort *)(*param_6 + 0x10) << 8" (pointer_expression "*(ushort *)(*param_6 + 0x10)" * (cast_expression "(ushort *)(*param_6 + 0x10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_6 + 0x10)" ( (binary_expression "*param_6 + 0x10" (pointer_expression "*param_6" * identifier) + number_literal) )))) << number_literal) | (binary_expression "*(ushort *)(*param_6 + 0x10) >> 8" (pointer_expression "*(ushort *)(*param_6 + 0x10)" * (cast_expression "(ushort *)(*param_6 + 0x10)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*param_6 + 0x10)" ( (binary_expression "*param_6 + 0x10" (pointer_expression "*param_6" * identifier) + number_literal) )))) >> number_literal))) ;) (if_statement "if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }" if (parenthesized_expression "(uVar10 == 1)" ( (binary_expression "uVar10 == 1" identifier == number_literal) )) (compound_statement "{\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }" { (labeled_statement "LAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);" statement_identifier : (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x1a0);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x1a0)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x1a0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x1a0)" identifier (argument_list "(0x1a0)" ( number_literal ))))) ;)) (expression_statement "FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);" (call_expression "FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6)" identifier (argument_list "(piVar4,param_2,param_3,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "piVar4[0x4f] = 0;" (assignment_expression "piVar4[0x4f] = 0" (subscript_expression "piVar4[0x4f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x50] = 0;" (assignment_expression "piVar4[0x50] = 0" (subscript_expression "piVar4[0x50]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x51] = 0;" (assignment_expression "piVar4[0x51] = 0" (subscript_expression "piVar4[0x51]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x52] = 0;" (assignment_expression "piVar4[0x52] = 0" (subscript_expression "piVar4[0x52]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x53] = 0;" (assignment_expression "piVar4[0x53] = 0" (subscript_expression "piVar4[0x53]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x54] = 0;" (assignment_expression "piVar4[0x54] = 0" (subscript_expression "piVar4[0x54]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x55] = 0;" (assignment_expression "piVar4[0x55] = 0" (subscript_expression "piVar4[0x55]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x56] = 0;" (assignment_expression "piVar4[0x56] = 0" (subscript_expression "piVar4[0x56]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x58] = 0;" (assignment_expression "piVar4[0x58] = 0" (subscript_expression "piVar4[0x58]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5a] = 0;" (assignment_expression "piVar4[0x5a] = 0" (subscript_expression "piVar4[0x5a]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5b] = 0;" (assignment_expression "piVar4[0x5b] = 0" (subscript_expression "piVar4[0x5b]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5e] = 0;" (assignment_expression "piVar4[0x5e] = 0" (subscript_expression "piVar4[0x5e]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x5f] = 0;" (assignment_expression "piVar4[0x5f] = 0" (subscript_expression "piVar4[0x5f]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);" (assignment_expression "*piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b)" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)("small_common_section_flags" + unaff_EDI + 0x1b)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "("small_common_section_flags" + unaff_EDI + 0x1b)" ( (binary_expression ""small_common_section_flags" + unaff_EDI + 0x1b" (binary_expression ""small_common_section_flags" + unaff_EDI" (string_literal ""small_common_section_flags"" " string_content ") + identifier) + number_literal) )))) ;) (expression_statement "piVar4[0x5c] = (int)(piVar4 + 0x5a);" (assignment_expression "piVar4[0x5c] = (int)(piVar4 + 0x5a)" (subscript_expression "piVar4[0x5c]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 0x5a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 0x5a)" ( (binary_expression "piVar4 + 0x5a" identifier + number_literal) )))) ;) (expression_statement "piVar4[0x5d] = (int)(piVar4 + 0x5a);" (assignment_expression "piVar4[0x5d] = (int)(piVar4 + 0x5a)" (subscript_expression "piVar4[0x5d]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 0x5a)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 0x5a)" ( (binary_expression "piVar4 + 0x5a" identifier + number_literal) )))) ;) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" identifier = number_literal) ;) (do_statement "do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);" do (compound_statement "{\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    }" { (expression_statement "*(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;" (assignment_expression "*(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0" (pointer_expression "*(undefined4 *)((int)piVar4 + uVar6 + 0x180)" * (cast_expression "(undefined4 *)((int)piVar4 + uVar6 + 0x180)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar4 + uVar6 + 0x180)" ( (binary_expression "(int)piVar4 + uVar6 + 0x180" (binary_expression "(int)piVar4 + uVar6" (cast_expression "(int)piVar4" ( (type_descriptor "int" primitive_type) ) identifier) + identifier) + number_literal) )))) = number_literal) ;) (expression_statement "uVar6 = uVar6 + 4;" (assignment_expression "uVar6 = uVar6 + 4" identifier = (binary_expression "uVar6 + 4" identifier + number_literal)) ;) }) while (parenthesized_expression "(uVar6 < 0x1c)" ( (binary_expression "uVar6 < 0x1c" identifier < number_literal) )) ;) (expression_statement "piVar4[0x60] = (int)(piVar4 + 0x66);" (assignment_expression "piVar4[0x60] = (int)(piVar4 + 0x66)" (subscript_expression "piVar4[0x60]" identifier [ number_literal ]) = (cast_expression "(int)(piVar4 + 0x66)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(piVar4 + 0x66)" ( (binary_expression "piVar4 + 0x66" identifier + number_literal) )))) ;) (expression_statement "*(undefined2 *)(piVar4 + 0x67) = 0x100;" (assignment_expression "*(undefined2 *)(piVar4 + 0x67) = 0x100" (pointer_expression "*(undefined2 *)(piVar4 + 0x67)" * (cast_expression "(undefined2 *)(piVar4 + 0x67)" ( (type_descriptor "undefined2 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(piVar4 + 0x67)" ( (binary_expression "piVar4 + 0x67" identifier + number_literal) )))) = number_literal) ;) (expression_statement "piVar4[0x61] = 1;" (assignment_expression "piVar4[0x61] = 1" (subscript_expression "piVar4[0x61]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x62] = 0;" (assignment_expression "piVar4[0x62] = 0" (subscript_expression "piVar4[0x62]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[99] = 0;" (assignment_expression "piVar4[99] = 0" (subscript_expression "piVar4[99]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[100] = 0x3f800000;" (assignment_expression "piVar4[100] = 0x3f800000" (subscript_expression "piVar4[100]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x65] = 0;" (assignment_expression "piVar4[0x65] = 0" (subscript_expression "piVar4[0x65]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "piVar4[0x66] = 0;" (assignment_expression "piVar4[0x66] = 0" (subscript_expression "piVar4[0x66]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00294830(piVar4);" (call_expression "FUN_00294830(piVar4)" identifier (argument_list "(piVar4)" ( identifier ))) ;) (expression_statement "puVar8 = (undefined4 *)piVar4[10];" (assignment_expression "puVar8 = (undefined4 *)piVar4[10]" identifier = (cast_expression "(undefined4 *)piVar4[10]" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (subscript_expression "piVar4[10]" identifier [ number_literal ]))) ;) (expression_statement "puVar7 = (undefined4 *)0x0;" (assignment_expression "puVar7 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }" if (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" ( (binary_expression "puVar8 != (undefined4 *)0x0" identifier != (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }" { (if_statement "if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }" if (parenthesized_expression "((undefined4 *)0x3fffffff < puVar8)" ( (binary_expression "(undefined4 *)0x3fffffff < puVar8" (cast_expression "(undefined4 *)0x3fffffff" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal) < identifier) )) (compound_statement "{\n                    \n        FUN_003f38c0();\n      }" { (expression_statement "FUN_003f38c0();" (call_expression "FUN_003f38c0()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);" (assignment_expression "puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0((int)puVar8 * 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0((int)puVar8 * 4)" identifier (argument_list "((int)puVar8 * 4)" ( (binary_expression "(int)puVar8 * 4" (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier) * number_literal) ))))) ;) (expression_statement "puVar8 = puVar7 + (int)puVar8;" (assignment_expression "puVar8 = puVar7 + (int)puVar8" identifier = (binary_expression "puVar7 + (int)puVar8" identifier + (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier))) ;) (expression_statement "puVar9 = puVar7;" (assignment_expression "puVar9 = puVar7" identifier = identifier) ;) (do_statement "do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);" do (compound_statement "{\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      }" { (expression_statement "*puVar9 = 0;" (assignment_expression "*puVar9 = 0" (pointer_expression "*puVar9" * identifier) = number_literal) ;) (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" identifier = (binary_expression "puVar9 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "(puVar9 != puVar8)" ( (binary_expression "puVar9 != puVar8" identifier != identifier) )) ;) })) (expression_statement "iVar2 = piVar4[0x4f];" (assignment_expression "iVar2 = piVar4[0x4f]" identifier = (subscript_expression "piVar4[0x4f]" identifier [ number_literal ])) ;) (expression_statement "piVar4[0x50] = (int)puVar8;" (assignment_expression "piVar4[0x50] = (int)puVar8" (subscript_expression "piVar4[0x50]" identifier [ number_literal ]) = (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x4f] = (int)puVar7;" (assignment_expression "piVar4[0x4f] = (int)puVar7" (subscript_expression "piVar4[0x4f]" identifier [ number_literal ]) = (cast_expression "(int)puVar7" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "piVar4[0x51] = (int)puVar8;" (assignment_expression "piVar4[0x51] = (int)puVar8" (subscript_expression "piVar4[0x51]" identifier [ number_literal ]) = (cast_expression "(int)puVar8" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (if_statement "if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }" if (parenthesized_expression "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )) (compound_statement "{\n      FUN_003ae080(iVar2);\n    }" { (expression_statement "FUN_003ae080(iVar2);" (call_expression "FUN_003ae080(iVar2)" identifier (argument_list "(iVar2)" ( identifier ))) ;) })) (return_statement "return piVar4;" return identifier ;) })) (if_statement "if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" if (parenthesized_expression "(uVar10 == 2)" ( (binary_expression "uVar10 == 2" identifier == number_literal) )) (compound_statement "{\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }" { (expression_statement "cVar3 = FUN_0023df40(param_3);" (assignment_expression "cVar3 = FUN_0023df40(param_3)" identifier = (call_expression "FUN_0023df40(param_3)" identifier (argument_list "(param_3)" ( identifier )))) ;) (if_statement "if (cVar3 != '\0') goto LAB_00142934;" if (parenthesized_expression "(cVar3 != '\0')" ( (binary_expression "cVar3 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence ')) )) (goto_statement "goto LAB_00142934;" goto statement_identifier ;)) }) (else_clause "else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" else (if_statement "if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" if (parenthesized_expression "(uVar10 == 3)" ( (binary_expression "uVar10 == 3" identifier == number_literal) )) (compound_statement "{\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" { (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x8c);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x8c)" identifier = (cast_expression "(int *)FUN_003ac4d0(0x8c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x8c)" identifier (argument_list "(0x8c)" ( number_literal ))))) ;) (expression_statement "FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);" (call_expression "FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6)" identifier (argument_list "(piVar4,param_2,param_3,param_4,param_5,param_6)" ( identifier , identifier , identifier , identifier , identifier , identifier ))) ;) (expression_statement "piVar4[0x21] = 0;" (assignment_expression "piVar4[0x21] = 0" (subscript_expression "piVar4[0x21]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);" (assignment_expression "*piVar4 = (int)(&UNK_0049cde3 + unaff_EDI)" (pointer_expression "*piVar4" * identifier) = (cast_expression "(int)(&UNK_0049cde3 + unaff_EDI)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(&UNK_0049cde3 + unaff_EDI)" ( (binary_expression "&UNK_0049cde3 + unaff_EDI" (pointer_expression "&UNK_0049cde3" & identifier) + identifier) )))) ;) (expression_statement "piVar4[0x22] = 0;" (assignment_expression "piVar4[0x22] = 0" (subscript_expression "piVar4[0x22]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_00237500(piVar4);" (call_expression "FUN_00237500(piVar4)" identifier (argument_list "(piVar4)" ( identifier ))) ;) (return_statement "return piVar4;" return identifier ;) })))) (expression_statement "uVar1 = *param_2;" (assignment_expression "uVar1 = *param_2" identifier = (pointer_expression "*param_2" * identifier)) ;) (expression_statement "uVar5 = gettext(unaff_EDI + 0x324297);" (assignment_expression "uVar5 = gettext(unaff_EDI + 0x324297)" identifier = (call_expression "gettext(unaff_EDI + 0x324297)" identifier (argument_list "(unaff_EDI + 0x324297)" ( (binary_expression "unaff_EDI + 0x324297" identifier + number_literal) )))) ;) (expression_statement "FUN_0023b810(uVar5,uVar1,uVar10);" (call_expression "FUN_0023b810(uVar5,uVar1,uVar10)" identifier (argument_list "(uVar5,uVar1,uVar10)" ( identifier , identifier , identifier ))) ;) (return_statement "return (int *)0x0;" return (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })))
(translation_unit (function_definition TYPE (pointer_declarator * (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 (pointer_declarator * IDENT)) )))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) << LIT) | (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) + LIT) )))) >> LIT))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;)) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (binary_expression (string_literal " string_content ") + IDENT) + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) + IDENT) + LIT) )))) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT < LIT) )) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) (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) )))) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (subscript_expression IDENT [ LIT ]))) ;) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) < IDENT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) * LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + (cast_expression ( (type_descriptor TYPE) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (do_statement do (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( (binary_expression IDENT != IDENT) )) ;) })) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != (char_literal ' escape_sequence ')) )) (goto_statement goto statement_identifier ;)) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (pointer_expression & IDENT) + IDENT) )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return IDENT ;) })))) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (binary_expression IDENT + LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT ))) ;) (return_statement return (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT) ;) })))
(function_definition "int * FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)\n\n{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}" (primitive_type "int") (pointer_declarator "* FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" (* "*") (function_declarator "FUN_00142840(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" (identifier "FUN_00142840") (parameter_list "(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,\n                  undefined4 param_5,int *param_6)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 *param_2" (type_identifier "undefined4") (pointer_declarator "*param_2" (* "*") (identifier "param_2"))) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "int *param_6" (primitive_type "int") (pointer_declarator "*param_6" (* "*") (identifier "param_6"))) () ")")))) (compound_statement "{\n  undefined4 uVar1;\n  int iVar2;\n  char cVar3;\n  int *piVar4;\n  undefined4 uVar5;\n  uint uVar6;\n  undefined4 *puVar7;\n  undefined4 *puVar8;\n  undefined4 *puVar9;\n  ushort uVar10;\n  int unaff_EDI;\n  \n  FUN_00074f0a();\n  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;\n  if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }\n  if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }\n  uVar1 = *param_2;\n  uVar5 = gettext(unaff_EDI + 0x324297);\n  FUN_0023b810(uVar5,uVar1,uVar10);\n  return (int *)0x0;\n}" ({ "{") (declaration "undefined4 uVar1;" (type_identifier "undefined4") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "char cVar3;" (primitive_type "char") (identifier "cVar3") (; ";")) (declaration "int *piVar4;" (primitive_type "int") (pointer_declarator "*piVar4" (* "*") (identifier "piVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "uint uVar6;" (type_identifier "uint") (identifier "uVar6") (; ";")) (declaration "undefined4 *puVar7;" (type_identifier "undefined4") (pointer_declarator "*puVar7" (* "*") (identifier "puVar7")) (; ";")) (declaration "undefined4 *puVar8;" (type_identifier "undefined4") (pointer_declarator "*puVar8" (* "*") (identifier "puVar8")) (; ";")) (declaration "undefined4 *puVar9;" (type_identifier "undefined4") (pointer_declarator "*puVar9" (* "*") (identifier "puVar9")) (; ";")) (declaration "ushort uVar10;" (type_identifier "ushort") (identifier "uVar10") (; ";")) (declaration "int unaff_EDI;" (primitive_type "int") (identifier "unaff_EDI") (; ";")) (expression_statement "FUN_00074f0a();" (call_expression "FUN_00074f0a()" (identifier "FUN_00074f0a") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;" (assignment_expression "uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8" (identifier "uVar10") (= "=") (binary_expression "*(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8" (binary_expression "*(ushort *)(*param_6 + 0x10) << 8" (pointer_expression "*(ushort *)(*param_6 + 0x10)" (* "*") (cast_expression "(ushort *)(*param_6 + 0x10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_6 + 0x10)" (( "(") (binary_expression "*param_6 + 0x10" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (+ "+") (number_literal "0x10")) () ")")))) (<< "<<") (number_literal "8")) (| "|") (binary_expression "*(ushort *)(*param_6 + 0x10) >> 8" (pointer_expression "*(ushort *)(*param_6 + 0x10)" (* "*") (cast_expression "(ushort *)(*param_6 + 0x10)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*param_6 + 0x10)" (( "(") (binary_expression "*param_6 + 0x10" (pointer_expression "*param_6" (* "*") (identifier "param_6")) (+ "+") (number_literal "0x10")) () ")")))) (>> ">>") (number_literal "8")))) (; ";")) (if_statement "if (uVar10 == 1) {\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }" (if "if") (parenthesized_expression "(uVar10 == 1)" (( "(") (binary_expression "uVar10 == 1" (identifier "uVar10") (== "==") (number_literal "1")) () ")")) (compound_statement "{\nLAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);\n                    \n    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x4f] = 0;\n    piVar4[0x50] = 0;\n    piVar4[0x51] = 0;\n    piVar4[0x52] = 0;\n    piVar4[0x53] = 0;\n    piVar4[0x54] = 0;\n    piVar4[0x55] = 0;\n    piVar4[0x56] = 0;\n    piVar4[0x58] = 0;\n    piVar4[0x5a] = 0;\n    piVar4[0x5b] = 0;\n    piVar4[0x5e] = 0;\n    piVar4[0x5f] = 0;\n    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);\n    piVar4[0x5c] = (int)(piVar4 + 0x5a);\n    piVar4[0x5d] = (int)(piVar4 + 0x5a);\n    uVar6 = 0;\n    do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);\n    piVar4[0x60] = (int)(piVar4 + 0x66);\n    *(undefined2 *)(piVar4 + 0x67) = 0x100;\n    piVar4[0x61] = 1;\n    piVar4[0x62] = 0;\n    piVar4[99] = 0;\n    piVar4[100] = 0x3f800000;\n    piVar4[0x65] = 0;\n    piVar4[0x66] = 0;\n    FUN_00294830(piVar4);\n    puVar8 = (undefined4 *)piVar4[10];\n    puVar7 = (undefined4 *)0x0;\n    if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }\n    iVar2 = piVar4[0x4f];\n    piVar4[0x50] = (int)puVar8;\n    piVar4[0x4f] = (int)puVar7;\n    piVar4[0x51] = (int)puVar8;\n    if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }\n    return piVar4;\n  }" ({ "{") (labeled_statement "LAB_00142934:\n    piVar4 = (int *)FUN_003ac4d0(0x1a0);" (statement_identifier "LAB_00142934") (: ":") (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x1a0);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x1a0)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x1a0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x1a0)" (identifier "FUN_003ac4d0") (argument_list "(0x1a0)" (( "(") (number_literal "0x1a0") () ")"))))) (; ";"))) (expression_statement "FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);" (call_expression "FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6)" (identifier "FUN_0029f2f0") (argument_list "(piVar4,param_2,param_3,param_4,param_5,param_6)" (( "(") (identifier "piVar4") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")"))) (; ";")) (expression_statement "piVar4[0x4f] = 0;" (assignment_expression "piVar4[0x4f] = 0" (subscript_expression "piVar4[0x4f]" (identifier "piVar4") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x50] = 0;" (assignment_expression "piVar4[0x50] = 0" (subscript_expression "piVar4[0x50]" (identifier "piVar4") ([ "[") (number_literal "0x50") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x51] = 0;" (assignment_expression "piVar4[0x51] = 0" (subscript_expression "piVar4[0x51]" (identifier "piVar4") ([ "[") (number_literal "0x51") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x52] = 0;" (assignment_expression "piVar4[0x52] = 0" (subscript_expression "piVar4[0x52]" (identifier "piVar4") ([ "[") (number_literal "0x52") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x53] = 0;" (assignment_expression "piVar4[0x53] = 0" (subscript_expression "piVar4[0x53]" (identifier "piVar4") ([ "[") (number_literal "0x53") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x54] = 0;" (assignment_expression "piVar4[0x54] = 0" (subscript_expression "piVar4[0x54]" (identifier "piVar4") ([ "[") (number_literal "0x54") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x55] = 0;" (assignment_expression "piVar4[0x55] = 0" (subscript_expression "piVar4[0x55]" (identifier "piVar4") ([ "[") (number_literal "0x55") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x56] = 0;" (assignment_expression "piVar4[0x56] = 0" (subscript_expression "piVar4[0x56]" (identifier "piVar4") ([ "[") (number_literal "0x56") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x58] = 0;" (assignment_expression "piVar4[0x58] = 0" (subscript_expression "piVar4[0x58]" (identifier "piVar4") ([ "[") (number_literal "0x58") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x5a] = 0;" (assignment_expression "piVar4[0x5a] = 0" (subscript_expression "piVar4[0x5a]" (identifier "piVar4") ([ "[") (number_literal "0x5a") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x5b] = 0;" (assignment_expression "piVar4[0x5b] = 0" (subscript_expression "piVar4[0x5b]" (identifier "piVar4") ([ "[") (number_literal "0x5b") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x5e] = 0;" (assignment_expression "piVar4[0x5e] = 0" (subscript_expression "piVar4[0x5e]" (identifier "piVar4") ([ "[") (number_literal "0x5e") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x5f] = 0;" (assignment_expression "piVar4[0x5f] = 0" (subscript_expression "piVar4[0x5f]" (identifier "piVar4") ([ "[") (number_literal "0x5f") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);" (assignment_expression "*piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b)" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (cast_expression "(int)("small_common_section_flags" + unaff_EDI + 0x1b)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "("small_common_section_flags" + unaff_EDI + 0x1b)" (( "(") (binary_expression ""small_common_section_flags" + unaff_EDI + 0x1b" (binary_expression ""small_common_section_flags" + unaff_EDI" (string_literal ""small_common_section_flags"" (" """) (string_content "small_common_section_flags") (" """)) (+ "+") (identifier "unaff_EDI")) (+ "+") (number_literal "0x1b")) () ")")))) (; ";")) (expression_statement "piVar4[0x5c] = (int)(piVar4 + 0x5a);" (assignment_expression "piVar4[0x5c] = (int)(piVar4 + 0x5a)" (subscript_expression "piVar4[0x5c]" (identifier "piVar4") ([ "[") (number_literal "0x5c") (] "]")) (= "=") (cast_expression "(int)(piVar4 + 0x5a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar4 + 0x5a)" (( "(") (binary_expression "piVar4 + 0x5a" (identifier "piVar4") (+ "+") (number_literal "0x5a")) () ")")))) (; ";")) (expression_statement "piVar4[0x5d] = (int)(piVar4 + 0x5a);" (assignment_expression "piVar4[0x5d] = (int)(piVar4 + 0x5a)" (subscript_expression "piVar4[0x5d]" (identifier "piVar4") ([ "[") (number_literal "0x5d") (] "]")) (= "=") (cast_expression "(int)(piVar4 + 0x5a)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar4 + 0x5a)" (( "(") (binary_expression "piVar4 + 0x5a" (identifier "piVar4") (+ "+") (number_literal "0x5a")) () ")")))) (; ";")) (expression_statement "uVar6 = 0;" (assignment_expression "uVar6 = 0" (identifier "uVar6") (= "=") (number_literal "0")) (; ";")) (do_statement "do {\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    } while (uVar6 < 0x1c);" (do "do") (compound_statement "{\n      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;\n      uVar6 = uVar6 + 4;\n    }" ({ "{") (expression_statement "*(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;" (assignment_expression "*(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0" (pointer_expression "*(undefined4 *)((int)piVar4 + uVar6 + 0x180)" (* "*") (cast_expression "(undefined4 *)((int)piVar4 + uVar6 + 0x180)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar4 + uVar6 + 0x180)" (( "(") (binary_expression "(int)piVar4 + uVar6 + 0x180" (binary_expression "(int)piVar4 + uVar6" (cast_expression "(int)piVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar4")) (+ "+") (identifier "uVar6")) (+ "+") (number_literal "0x180")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "uVar6 = uVar6 + 4;" (assignment_expression "uVar6 = uVar6 + 4" (identifier "uVar6") (= "=") (binary_expression "uVar6 + 4" (identifier "uVar6") (+ "+") (number_literal "4"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(uVar6 < 0x1c)" (( "(") (binary_expression "uVar6 < 0x1c" (identifier "uVar6") (< "<") (number_literal "0x1c")) () ")")) (; ";")) (expression_statement "piVar4[0x60] = (int)(piVar4 + 0x66);" (assignment_expression "piVar4[0x60] = (int)(piVar4 + 0x66)" (subscript_expression "piVar4[0x60]" (identifier "piVar4") ([ "[") (number_literal "0x60") (] "]")) (= "=") (cast_expression "(int)(piVar4 + 0x66)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(piVar4 + 0x66)" (( "(") (binary_expression "piVar4 + 0x66" (identifier "piVar4") (+ "+") (number_literal "0x66")) () ")")))) (; ";")) (expression_statement "*(undefined2 *)(piVar4 + 0x67) = 0x100;" (assignment_expression "*(undefined2 *)(piVar4 + 0x67) = 0x100" (pointer_expression "*(undefined2 *)(piVar4 + 0x67)" (* "*") (cast_expression "(undefined2 *)(piVar4 + 0x67)" (( "(") (type_descriptor "undefined2 *" (type_identifier "undefined2") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(piVar4 + 0x67)" (( "(") (binary_expression "piVar4 + 0x67" (identifier "piVar4") (+ "+") (number_literal "0x67")) () ")")))) (= "=") (number_literal "0x100")) (; ";")) (expression_statement "piVar4[0x61] = 1;" (assignment_expression "piVar4[0x61] = 1" (subscript_expression "piVar4[0x61]" (identifier "piVar4") ([ "[") (number_literal "0x61") (] "]")) (= "=") (number_literal "1")) (; ";")) (expression_statement "piVar4[0x62] = 0;" (assignment_expression "piVar4[0x62] = 0" (subscript_expression "piVar4[0x62]" (identifier "piVar4") ([ "[") (number_literal "0x62") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[99] = 0;" (assignment_expression "piVar4[99] = 0" (subscript_expression "piVar4[99]" (identifier "piVar4") ([ "[") (number_literal "99") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[100] = 0x3f800000;" (assignment_expression "piVar4[100] = 0x3f800000" (subscript_expression "piVar4[100]" (identifier "piVar4") ([ "[") (number_literal "100") (] "]")) (= "=") (number_literal "0x3f800000")) (; ";")) (expression_statement "piVar4[0x65] = 0;" (assignment_expression "piVar4[0x65] = 0" (subscript_expression "piVar4[0x65]" (identifier "piVar4") ([ "[") (number_literal "0x65") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "piVar4[0x66] = 0;" (assignment_expression "piVar4[0x66] = 0" (subscript_expression "piVar4[0x66]" (identifier "piVar4") ([ "[") (number_literal "0x66") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00294830(piVar4);" (call_expression "FUN_00294830(piVar4)" (identifier "FUN_00294830") (argument_list "(piVar4)" (( "(") (identifier "piVar4") () ")"))) (; ";")) (expression_statement "puVar8 = (undefined4 *)piVar4[10];" (assignment_expression "puVar8 = (undefined4 *)piVar4[10]" (identifier "puVar8") (= "=") (cast_expression "(undefined4 *)piVar4[10]" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (subscript_expression "piVar4[10]" (identifier "piVar4") ([ "[") (number_literal "10") (] "]")))) (; ";")) (expression_statement "puVar7 = (undefined4 *)0x0;" (assignment_expression "puVar7 = (undefined4 *)0x0" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (puVar8 != (undefined4 *)0x0) {\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }" (if "if") (parenthesized_expression "(puVar8 != (undefined4 *)0x0)" (( "(") (binary_expression "puVar8 != (undefined4 *)0x0" (identifier "puVar8") (!= "!=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }\n      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);\n      puVar8 = puVar7 + (int)puVar8;\n      puVar9 = puVar7;\n      do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);\n    }" ({ "{") (if_statement "if ((undefined4 *)0x3fffffff < puVar8) {\n                    \n        FUN_003f38c0();\n      }" (if "if") (parenthesized_expression "((undefined4 *)0x3fffffff < puVar8)" (( "(") (binary_expression "(undefined4 *)0x3fffffff < puVar8" (cast_expression "(undefined4 *)0x3fffffff" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x3fffffff")) (< "<") (identifier "puVar8")) () ")")) (compound_statement "{\n                    \n        FUN_003f38c0();\n      }" ({ "{") (expression_statement "FUN_003f38c0();" (call_expression "FUN_003f38c0()" (identifier "FUN_003f38c0") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);" (assignment_expression "puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4)" (identifier "puVar7") (= "=") (cast_expression "(undefined4 *)FUN_003ac4d0((int)puVar8 * 4)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0((int)puVar8 * 4)" (identifier "FUN_003ac4d0") (argument_list "((int)puVar8 * 4)" (( "(") (binary_expression "(int)puVar8 * 4" (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")) (* "*") (number_literal "4")) () ")"))))) (; ";")) (expression_statement "puVar8 = puVar7 + (int)puVar8;" (assignment_expression "puVar8 = puVar7 + (int)puVar8" (identifier "puVar8") (= "=") (binary_expression "puVar7 + (int)puVar8" (identifier "puVar7") (+ "+") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8")))) (; ";")) (expression_statement "puVar9 = puVar7;" (assignment_expression "puVar9 = puVar7" (identifier "puVar9") (= "=") (identifier "puVar7")) (; ";")) (do_statement "do {\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      } while (puVar9 != puVar8);" (do "do") (compound_statement "{\n        *puVar9 = 0;\n        puVar9 = puVar9 + 1;\n      }" ({ "{") (expression_statement "*puVar9 = 0;" (assignment_expression "*puVar9 = 0" (pointer_expression "*puVar9" (* "*") (identifier "puVar9")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar9 = puVar9 + 1;" (assignment_expression "puVar9 = puVar9 + 1" (identifier "puVar9") (= "=") (binary_expression "puVar9 + 1" (identifier "puVar9") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(puVar9 != puVar8)" (( "(") (binary_expression "puVar9 != puVar8" (identifier "puVar9") (!= "!=") (identifier "puVar8")) () ")")) (; ";")) (} "}"))) (expression_statement "iVar2 = piVar4[0x4f];" (assignment_expression "iVar2 = piVar4[0x4f]" (identifier "iVar2") (= "=") (subscript_expression "piVar4[0x4f]" (identifier "piVar4") ([ "[") (number_literal "0x4f") (] "]"))) (; ";")) (expression_statement "piVar4[0x50] = (int)puVar8;" (assignment_expression "piVar4[0x50] = (int)puVar8" (subscript_expression "piVar4[0x50]" (identifier "piVar4") ([ "[") (number_literal "0x50") (] "]")) (= "=") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) (; ";")) (expression_statement "piVar4[0x4f] = (int)puVar7;" (assignment_expression "piVar4[0x4f] = (int)puVar7" (subscript_expression "piVar4[0x4f]" (identifier "piVar4") ([ "[") (number_literal "0x4f") (] "]")) (= "=") (cast_expression "(int)puVar7" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar7"))) (; ";")) (expression_statement "piVar4[0x51] = (int)puVar8;" (assignment_expression "piVar4[0x51] = (int)puVar8" (subscript_expression "piVar4[0x51]" (identifier "piVar4") ([ "[") (number_literal "0x51") (] "]")) (= "=") (cast_expression "(int)puVar8" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "puVar8"))) (; ";")) (if_statement "if (iVar2 != 0) {\n      FUN_003ae080(iVar2);\n    }" (if "if") (parenthesized_expression "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      FUN_003ae080(iVar2);\n    }" ({ "{") (expression_statement "FUN_003ae080(iVar2);" (call_expression "FUN_003ae080(iVar2)" (identifier "FUN_003ae080") (argument_list "(iVar2)" (( "(") (identifier "iVar2") () ")"))) (; ";")) (} "}"))) (return_statement "return piVar4;" (return "return") (identifier "piVar4") (; ";")) (} "}"))) (if_statement "if (uVar10 == 2) {\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }\n  else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" (if "if") (parenthesized_expression "(uVar10 == 2)" (( "(") (binary_expression "uVar10 == 2" (identifier "uVar10") (== "==") (number_literal "2")) () ")")) (compound_statement "{\n    cVar3 = FUN_0023df40(param_3);\n    if (cVar3 != '\0') goto LAB_00142934;\n  }" ({ "{") (expression_statement "cVar3 = FUN_0023df40(param_3);" (assignment_expression "cVar3 = FUN_0023df40(param_3)" (identifier "cVar3") (= "=") (call_expression "FUN_0023df40(param_3)" (identifier "FUN_0023df40") (argument_list "(param_3)" (( "(") (identifier "param_3") () ")")))) (; ";")) (if_statement "if (cVar3 != '\0') goto LAB_00142934;" (if "if") (parenthesized_expression "(cVar3 != '\0')" (( "(") (binary_expression "cVar3 != '\0'" (identifier "cVar3") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (goto_statement "goto LAB_00142934;" (goto "goto") (statement_identifier "LAB_00142934") (; ";"))) (} "}")) (else_clause "else if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" (else "else") (if_statement "if (uVar10 == 3) {\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" (if "if") (parenthesized_expression "(uVar10 == 3)" (( "(") (binary_expression "uVar10 == 3" (identifier "uVar10") (== "==") (number_literal "3")) () ")")) (compound_statement "{\n    piVar4 = (int *)FUN_003ac4d0(0x8c);\n                    \n    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);\n    piVar4[0x21] = 0;\n    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);\n    piVar4[0x22] = 0;\n    FUN_00237500(piVar4);\n    return piVar4;\n  }" ({ "{") (expression_statement "piVar4 = (int *)FUN_003ac4d0(0x8c);" (assignment_expression "piVar4 = (int *)FUN_003ac4d0(0x8c)" (identifier "piVar4") (= "=") (cast_expression "(int *)FUN_003ac4d0(0x8c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x8c)" (identifier "FUN_003ac4d0") (argument_list "(0x8c)" (( "(") (number_literal "0x8c") () ")"))))) (; ";")) (expression_statement "FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);" (call_expression "FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6)" (identifier "FUN_0023a250") (argument_list "(piVar4,param_2,param_3,param_4,param_5,param_6)" (( "(") (identifier "piVar4") (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") () ")"))) (; ";")) (expression_statement "piVar4[0x21] = 0;" (assignment_expression "piVar4[0x21] = 0" (subscript_expression "piVar4[0x21]" (identifier "piVar4") ([ "[") (number_literal "0x21") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);" (assignment_expression "*piVar4 = (int)(&UNK_0049cde3 + unaff_EDI)" (pointer_expression "*piVar4" (* "*") (identifier "piVar4")) (= "=") (cast_expression "(int)(&UNK_0049cde3 + unaff_EDI)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(&UNK_0049cde3 + unaff_EDI)" (( "(") (binary_expression "&UNK_0049cde3 + unaff_EDI" (pointer_expression "&UNK_0049cde3" (& "&") (identifier "UNK_0049cde3")) (+ "+") (identifier "unaff_EDI")) () ")")))) (; ";")) (expression_statement "piVar4[0x22] = 0;" (assignment_expression "piVar4[0x22] = 0" (subscript_expression "piVar4[0x22]" (identifier "piVar4") ([ "[") (number_literal "0x22") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_00237500(piVar4);" (call_expression "FUN_00237500(piVar4)" (identifier "FUN_00237500") (argument_list "(piVar4)" (( "(") (identifier "piVar4") () ")"))) (; ";")) (return_statement "return piVar4;" (return "return") (identifier "piVar4") (; ";")) (} "}"))))) (expression_statement "uVar1 = *param_2;" (assignment_expression "uVar1 = *param_2" (identifier "uVar1") (= "=") (pointer_expression "*param_2" (* "*") (identifier "param_2"))) (; ";")) (expression_statement "uVar5 = gettext(unaff_EDI + 0x324297);" (assignment_expression "uVar5 = gettext(unaff_EDI + 0x324297)" (identifier "uVar5") (= "=") (call_expression "gettext(unaff_EDI + 0x324297)" (identifier "gettext") (argument_list "(unaff_EDI + 0x324297)" (( "(") (binary_expression "unaff_EDI + 0x324297" (identifier "unaff_EDI") (+ "+") (number_literal "0x324297")) () ")")))) (; ";")) (expression_statement "FUN_0023b810(uVar5,uVar1,uVar10);" (call_expression "FUN_0023b810(uVar5,uVar1,uVar10)" (identifier "FUN_0023b810") (argument_list "(uVar5,uVar1,uVar10)" (( "(") (identifier "uVar5") (, ",") (identifier "uVar1") (, ",") (identifier "uVar10") () ")"))) (; ";")) (return_statement "return (int *)0x0;" (return "return") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0")) (; ";")) (} "}")))

/* WARNING: Type propagation algorithm not settling */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "<anon>": Some values do not have unique names */
/* DWARF original prototype: Object * do_make_elf_object(Target_arm<true> * this, string * name,
   Input_file * input_file, off_t offset, Ehdr<32,_true> * ehdr) */

var_1 * __thiscall
anon_unknown.dwarf_91258a::Target_arm<true>::do_make_elf_object
          (Target_arm<true> *this,string *name,type_6 *input_file,off_t offset,
          Ehdr<32,var_9> *ehdr)

{
  var_2 *var_3;
  type_1 var_7;
  type_2 pcVar3;
  bool bVar4;
  var_4<32,var_9> *this_00;
  char *format;
  var_5<32,var_9> *this_01;
  type_3 **var_17;
  type_3 **var_15;
  type_3 **var_18;
  type_4 var_8;
  int var_13;
  
  var_6();
  var_7 = ehdr->p_->e_type;
  var_8 = (type_4)(type_1)(var_7 << 8 | var_7 >> 8);
  if (var_8 == 1) {
LAB_00142934:
    this_01 = (var_5<32,var_9> *)var_10(0x1a0);
                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */
    gold::var_5<32,var_9>::var_5(this_01,name,input_file,offset,ehdr);
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object._vptr_Object =
         (type_3 **)0x0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_._M_dataplus._M_p =
         (type_2)0x0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_._M_string_length = 0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_.field_2.
    _M_allocated_capacity = 0;
    *(type_5 *)
     ((int)&this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_.field_2 + 4) = 0
    ;
    *(type_5 *)
     ((int)&this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_.field_2 + 8) = 0
    ;
    *(type_5 *)
     ((int)&this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_.field_2 + 0xc) =
         0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.input_file_ =
         (type_6 *)0x0;
    *(type_5 *)
     ((int)&this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.offset_ + 4) = 0;
    *(type_5 *)&this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.field_0x2c = 0
    ;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.xindex_ = (type_7 *)0x0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.output_sections_.
    super__Vector_base<gold::var_11*,_std::allocator<gold::var_11*>var_12>._M_impl.
    _M_finish = (type_2)0x0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.output_sections_.
    super__Vector_base<gold::var_11*,_std::allocator<gold::var_11*>var_12>._M_impl.
    _M_end_of_storage = (type_2)0x0;
    (this_01->super_Sized_relobj<32,var_9>).super_Relobj.super_Object._vptr_Object =
         (type_3 **)("small_common_section_flags" + var_13 + 0x1b);
    var_3 = &this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.field_0x2c;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.compressed_sections_ =
         (type_8 *)var_3;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.output_sections_.
    super__Vector_base<gold::var_11*,_std::allocator<gold::var_11*>var_12>._M_impl.
    _M_start = (type_2)var_3;
    var_8 = 0;
    do {
      *(type_5 *)
       ((int)&this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.map_to_relocatable_relocs_ +
       var_8) = 0;
      var_8 = var_8 + 4;
    } while (var_8 < 0x1c);
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.map_to_relocatable_relocs_ =
         (vector<gold::Relocatable_relocs*,_std::allocator<gold::Relocatable_relocs*>var_12> *)
         &this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.reloc_bases_;
    *(undefined2 *)&this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.first_dyn_reloc_ = 0x100;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.object_merge_map_ = (Object_merge_map *)0x1
    ;
    *(type_5 *)
     &this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.relocs_must_follow_section_writes_ = 0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.rd_ = (Read_relocs_data *)0x0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.sd_ = (Symbols_data *)0x3f800000;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.reloc_counts_ = (type_4 *)0x0;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.reloc_bases_ = (type_4 *)0x0;
    gold::var_5<32,var_9>::var_14(this_01);
    var_15 = (type_3 **)
              (this_01->super_Sized_relobj<32,var_9>).super_Relobj.super_Object.shnum_;
    var_17 = (type_3 **)0x0;
    if (var_15 != (type_3 **)0x0) {
      if ((type_3 **)0x3fffffff < var_15) {
                    /* WARNING: Subroutine does not return */
        std::var_16();
      }
      var_17 = (type_3 **)var_10((int)var_15 * 4);
      var_15 = var_17 + (int)var_15;
      var_18 = var_17;
      do {
        *var_18 = (type_3 *)0x0;
        var_18 = var_18 + 1;
      } while (var_18 != var_15);
    }
    var_18 = this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object._vptr_Object;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_._M_dataplus._M_p =
         (type_2)var_15;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object._vptr_Object = var_17;
    this_01[1].super_Sized_relobj<32,var_9>.super_Relobj.super_Object.name_._M_string_length =
         (type_9)var_15;
    if (var_18 != (type_3 **)0x0) {
      var_19(var_18);
    }
    return (var_1 *)this_01;
  }
  if (var_8 == 2) {
    bVar4 = gold::Input_file::var_20(input_file);
    if (bVar4) goto LAB_00142934;
  }
  else if (var_8 == 3) {
    this_00 = (var_4<32,var_9> *)var_10(0x8c);
                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */
    gold::var_4<32,var_9>::var_4(this_00,name,input_file,offset,ehdr);
    this_00[1].super_Dynobj.super_Object._vptr_Object = (type_3 **)0x0;
    (this_00->super_Dynobj).super_Object._vptr_Object = (type_3 **)(var_13 + 0x49cde3)
    ;
    this_00[1].super_Dynobj.super_Object.name_._M_dataplus._M_p = (type_2)0x0;
    gold::var_4<32,var_9>::var_21(this_00);
    return (var_1 *)this_00;
  }
  pcVar3 = (name->_M_dataplus)._M_p;
  format = (char *)var_22(&UNK_00324297 + var_13);
  gold::var_23(format,pcVar3,var_8);
  return (var_1 *)0x0;
}


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

int * MASKED(undefined4 param_1,undefined4 *param_2,undefined4 param_3,undefined4 param_4,
                  undefined4 param_5,int *param_6)

{
  undefined4 uVar1;
  int iVar2;
  char cVar3;
  int *piVar4;
  undefined4 uVar5;
  uint uVar6;
  undefined4 *puVar7;
  undefined4 *puVar8;
  undefined4 *puVar9;
  ushort uVar10;
  int unaff_EDI;
  
  FUN_00074f0a();
  uVar10 = *(ushort *)(*param_6 + 0x10) << 8 | *(ushort *)(*param_6 + 0x10) >> 8;
  if (uVar10 == 1) {
LAB_00142934:
    piVar4 = (int *)FUN_003ac4d0(0x1a0);
                    /* try { // try from 00142957 to 0014295b has its CatchHandler @ 00142ae5 */
    FUN_0029f2f0(piVar4,param_2,param_3,param_4,param_5,param_6);
    piVar4[0x4f] = 0;
    piVar4[0x50] = 0;
    piVar4[0x51] = 0;
    piVar4[0x52] = 0;
    piVar4[0x53] = 0;
    piVar4[0x54] = 0;
    piVar4[0x55] = 0;
    piVar4[0x56] = 0;
    piVar4[0x58] = 0;
    piVar4[0x5a] = 0;
    piVar4[0x5b] = 0;
    piVar4[0x5e] = 0;
    piVar4[0x5f] = 0;
    *piVar4 = (int)("small_common_section_flags" + unaff_EDI + 0x1b);
    piVar4[0x5c] = (int)(piVar4 + 0x5a);
    piVar4[0x5d] = (int)(piVar4 + 0x5a);
    uVar6 = 0;
    do {
      *(undefined4 *)((int)piVar4 + uVar6 + 0x180) = 0;
      uVar6 = uVar6 + 4;
    } while (uVar6 < 0x1c);
    piVar4[0x60] = (int)(piVar4 + 0x66);
    *(undefined2 *)(piVar4 + 0x67) = 0x100;
    piVar4[0x61] = 1;
    piVar4[0x62] = 0;
    piVar4[99] = 0;
    piVar4[100] = 0x3f800000;
    piVar4[0x65] = 0;
    piVar4[0x66] = 0;
    FUN_00294830(piVar4);
    puVar8 = (undefined4 *)piVar4[10];
    puVar7 = (undefined4 *)0x0;
    if (puVar8 != (undefined4 *)0x0) {
      if ((undefined4 *)0x3fffffff < puVar8) {
                    /* WARNING: Subroutine does not return */
        FUN_003f38c0();
      }
      puVar7 = (undefined4 *)FUN_003ac4d0((int)puVar8 * 4);
      puVar8 = puVar7 + (int)puVar8;
      puVar9 = puVar7;
      do {
        *puVar9 = 0;
        puVar9 = puVar9 + 1;
      } while (puVar9 != puVar8);
    }
    iVar2 = piVar4[0x4f];
    piVar4[0x50] = (int)puVar8;
    piVar4[0x4f] = (int)puVar7;
    piVar4[0x51] = (int)puVar8;
    if (iVar2 != 0) {
      FUN_003ae080(iVar2);
    }
    return piVar4;
  }
  if (uVar10 == 2) {
    cVar3 = FUN_0023df40(param_3);
    if (cVar3 != '\0') goto LAB_00142934;
  }
  else if (uVar10 == 3) {
    piVar4 = (int *)FUN_003ac4d0(0x8c);
                    /* try { // try from 001428aa to 001428ae has its CatchHandler @ 00142aed */
    FUN_0023a250(piVar4,param_2,param_3,param_4,param_5,param_6);
    piVar4[0x21] = 0;
    *piVar4 = (int)(&UNK_0049cde3 + unaff_EDI);
    piVar4[0x22] = 0;
    FUN_00237500(piVar4);
    return piVar4;
  }
  uVar1 = *param_2;
  uVar5 = gettext(unaff_EDI + 0x324297);
  FUN_0023b810(uVar5,uVar1,uVar10);
  return (int *)0x0;
}

