
/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void make_lplt_section(Target_powerpc<64,_false> * this, Layout *
   layout) */

void __thiscall
anon_unknown.dwarf_6462d4::Target_powerpc<64,_false>::make_lplt_section
          (Target_powerpc<64,_false> *this,Layout *layout)

{
  undefined1 *puVar1;
  General_options *pGVar2;
  Output_section *pOVar3;
  int in_EAX;
  Output_section_data *pOVar4;
  undefined4 *puVar5;
  Layout *in_EDX;
  uint64_t uVar6;
  Target_powerpc<64,_false> *in_stack_ffffffd4;
  Layout *in_stack_ffffffd8;
  
  if (*(int *)(in_EAX + 0x20) != 0) {
    return;
  }
  pGVar2 = gold::parameters->options_;
  if (pGVar2 != (General_options *)0x0) {
    if (((pGVar2->shared_).value != false) ||
       (pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false)) {
      pOVar4 = (Output_section_data *)operator_new(0x40);
                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */
      uVar6 = gold::Output_data::default_alignment_for_size(0x40);
      *(int *)&pOVar4->addralign_ = (int)uVar6;
      puVar1 = &(pOVar4->super_Output_data).field_0x1c;
      *puVar1 = *puVar1 & 0xe0;
      *(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20);
      (pOVar4->super_Output_data)._vptr_Output_data =
           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74;
      *(undefined4 *)&(pOVar4->super_Output_data).address_ = 0;
      *(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;
      *(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0;
      *(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;
      *(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;
      *(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;
      pOVar4->output_section_ = (Output_section *)0x0;
      pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0;
      *(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0;
      *(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;
      *(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0;
      *(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;
      rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8);
      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20);
      if (pOVar3 != (Output_section *)0x0) {
        gold::Output_section::add_output_section_data(pOVar3,pOVar4);
      }
    }
    puVar5 = (undefined4 *)operator_new(0x38);
    *(byte *)(puVar5 + 7) = *(byte *)(puVar5 + 7) & 0xe0;
    puVar5[1] = 0;
    *puVar5 = &PTR__Output_data_plt_powerpc_005ddb3c;
    puVar5[0xd] = "** LPLT";
    puVar5[2] = 0;
    puVar5[3] = 0;
    puVar5[4] = 0;
    puVar5[5] = 0xffffffff;
    puVar5[6] = 0xffffffff;
    puVar5[8] = 0;
    puVar5[9] = 8;
    puVar5[10] = 0;
    puVar5[0xb] = pOVar4;
    puVar5[0xc] = in_EAX;
    *(undefined4 **)(in_EAX + 0x20) = puVar5;
    make_brlt_section(in_stack_ffffffd4,in_stack_ffffffd8);
    if (*(int *)(in_EAX + 0x24) == 0) {
      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);
    }
    else {
      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);
      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);
      if (pOVar3 != (Output_section *)0x0) {
        gold::Output_section::add_output_section_data(pOVar3,pOVar4);
        return;
      }
    }
    gold::Layout::add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);
    return;
  }
                    /* WARNING: Subroutine does not return */
  gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");
}



/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */

void __regparm3 FUN_000b9b50(int param_1,undefined4 param_2)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  undefined8 uVar5;
  
  if (*(int *)(param_1 + 0x20) != 0) {
    return;
  }
  iVar1 = *(int *)(DAT_005ea7c8 + 8);
  if (iVar1 != 0) {
    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||
       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {
      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);
                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */
      uVar5 = FUN_002c5bb0(0x40);
      puVar2[9] = (int)uVar5;
      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;
      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);
      *puVar2 = &PTR_FUN_005dcc74;
      puVar2[1] = 0;
      puVar2[2] = 0;
      puVar2[3] = 0;
      puVar2[4] = 0;
      puVar2[5] = 0xffffffff;
      puVar2[6] = 0xffffffff;
      puVar2[8] = 0;
      puVar2[0xb] = 0;
      *(undefined1 *)(puVar2 + 0xc) = 0;
      puVar2[0xd] = 0;
      puVar2[0xe] = 0;
      puVar2[0xf] = 0;
      FUN_000b7560();
      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);
      if (iVar1 != 0) {
        FUN_002ca8b0(iVar1,puVar2);
      }
    }
    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);
    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;
    puVar3[1] = 0;
    *puVar3 = &PTR_FUN_005ddb3c;
    puVar3[0xd] = "** LPLT";
    puVar3[2] = 0;
    puVar3[3] = 0;
    puVar3[4] = 0;
    puVar3[5] = 0xffffffff;
    puVar3[6] = 0xffffffff;
    puVar3[8] = 0;
    puVar3[9] = 8;
    puVar3[10] = 0;
    puVar3[0xb] = puVar2;
    puVar3[0xc] = param_1;
    *(undefined4 **)(param_1 + 0x20) = puVar3;
    FUN_000b9950();
    if (*(int *)(param_1 + 0x24) == 0) {
      uVar4 = *(undefined4 *)(param_1 + 0x20);
    }
    else {
      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);
      uVar4 = *(undefined4 *)(param_1 + 0x20);
      if (iVar1 != 0) {
        FUN_002ca8b0(iVar1,uVar4);
        return;
      }
    }
    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);
}


CALL 0x00074f06
ADD ECX,0x5304ab
PUSH EBP
MOV EBP,ESP
PUSH EDI
PUSH ESI
PUSH EBX
SUB ESP,0x1c
MOV ESI,dword ptr [EAX + 0x20]
MOV dword ptr [EBP + -0x1c],ECX
TEST ESI,ESI
JZ 0x000b9b80
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
MOV EDI,EAX
LEA EAX,[ECX + 0x7c8]
MOV dword ptr [EBP + -0x20],EDX
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000b9d3b
CMP byte ptr [EAX + 0x1a25],0x0
JZ 0x000b9cf8
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x1c]
PUSH 0x40
CALL 0x003ac4d0
MOV EBX,dword ptr [EBP + -0x1c]
MOV dword ptr [ESP],0x40
MOV ESI,EAX
CALL 0x002c5bb0
MOV EBX,dword ptr [EBP + -0x1c]
MOV dword ptr [ESI + 0x24],EAX
ADD ESP,0x10
AND byte ptr [ESI + 0x1c],0xe0
LEA EAX,[EBX + 0xffff2c74]
MOV dword ptr [ESI + 0x28],EDX
MOV EDX,dword ptr [EBP + -0x20]
MOV dword ptr [ESI],EAX
LEA EAX,[EDI + 0x2c]
MOV dword ptr [ESI + 0x4],0x0
MOV dword ptr [ESI + 0x8],0x0
MOV dword ptr [ESI + 0xc],0x0
MOV dword ptr [ESI + 0x10],0x0
MOV dword ptr [ESI + 0x14],0xffffffff
MOV dword ptr [ESI + 0x18],0xffffffff
MOV dword ptr [ESI + 0x20],0x0
MOV dword ptr [ESI + 0x2c],0x0
MOV byte ptr [ESI + 0x30],0x0
MOV dword ptr [ESI + 0x34],0x0
MOV dword ptr [ESI + 0x38],0x0
MOV dword ptr [ESI + 0x3c],0x0
CALL 0x000b7560
MOV EAX,dword ptr [EDI + 0x2c]
MOV EAX,dword ptr [EAX + 0x20]
TEST EAX,EAX
JZ 0x000b9c4e
SUB ESP,0x8
PUSH ESI
PUSH EAX
CALL 0x002ca8b0
ADD ESP,0x10
SUB ESP,0xc
MOV EBX,dword ptr [EBP + -0x1c]
PUSH 0x38
CALL 0x003ac4d0
MOV EBX,dword ptr [EBP + -0x1c]
ADD ESP,0x10
AND byte ptr [EAX + 0x1c],0xe0
LEA EDX,[EBX + 0xffff3b3c]
MOV dword ptr [EAX + 0x4],0x0
MOV dword ptr [EAX],EDX
LEA EDX,[EBX + 0xffe7c592]
MOV dword ptr [EAX + 0x34],EDX
MOV EDX,dword ptr [EBP + -0x20]
MOV dword ptr [EAX + 0x8],0x0
MOV dword ptr [EAX + 0xc],0x0
MOV dword ptr [EAX + 0x10],0x0
MOV dword ptr [EAX + 0x14],0xffffffff
MOV dword ptr [EAX + 0x18],0xffffffff
MOV dword ptr [EAX + 0x20],0x0
MOV dword ptr [EAX + 0x24],0x8
MOV dword ptr [EAX + 0x28],0x0
MOV dword ptr [EAX + 0x2c],ESI
MOV dword ptr [EAX + 0x30],EDI
MOV dword ptr [EDI + 0x20],EAX
MOV EAX,EDI
CALL 0x000b9950
MOV EAX,dword ptr [EDI + 0x24]
TEST EAX,EAX
JZ 0x000b9d10
MOV EAX,dword ptr [EAX + 0x20]
MOV EDX,dword ptr [EDI + 0x20]
TEST EAX,EAX
JZ 0x000b9d13
SUB ESP,0x8
MOV EBX,dword ptr [EBP + -0x1c]
PUSH EDX
PUSH EAX
CALL 0x002ca8b0
ADD ESP,0x10
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
CMP byte ptr [EAX + 0x2931],0x0
JZ 0x000b9c4e
JMP 0x000b9ba5
MOV EDX,dword ptr [EDI + 0x20]
MOV EBX,dword ptr [EBP + -0x1c]
PUSH 0x1
PUSH 0x13
LEA EAX,[EBX + 0xffe7c59a]
PUSH EDX
PUSH 0x0
PUSH 0x3
PUSH 0x1
PUSH EAX
PUSH dword ptr [EBP + -0x20]
CALL 0x0027afd0
ADD ESP,0x20
LEA ESP,[EBP + -0xc]
POP EBX
POP ESI
POP EDI
POP EBP
RET
LEA EAX,[ECX + 0xffe7ba28]
PUSH EDX
MOV EBX,ECX
PUSH EAX
LEA EAX,[ECX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */\n\nvoid __regparm3 FUN_000b9b50(int param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}\n\n" comment (function_definition "void __regparm3 FUN_000b9b50(int param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000b9b50(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) != 0)" ( (binary_expression "*(int *)(param_1 + 0x20) != 0" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar1 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }" { (if_statement "if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }" if (parenthesized_expression "((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar1 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar1 + 0x1a25)" * (cast_expression "(char *)(iVar1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1a25)" ( (binary_expression "iVar1 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')" ( (comma_expression "puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0'" (assignment_expression "puVar2 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(char *)(iVar1 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar1 + 0x2931)" * (cast_expression "(char *)(iVar1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2931)" ( (binary_expression "iVar1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }" { (expression_statement "puVar2 = (undefined4 *)FUN_003ac4d0(0x40);" (assignment_expression "puVar2 = (undefined4 *)FUN_003ac4d0(0x40)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) comment (expression_statement "uVar5 = FUN_002c5bb0(0x40);" (assignment_expression "uVar5 = FUN_002c5bb0(0x40)" identifier = (call_expression "FUN_002c5bb0(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "puVar2[9] = (int)uVar5;" (assignment_expression "puVar2[9] = (int)uVar5" (subscript_expression "puVar2[9]" identifier [ number_literal ]) = (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar2 + 7)" * (cast_expression "(byte *)(puVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 7)" ( (binary_expression "puVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar2 + 7)" * (cast_expression "(byte *)(puVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 7)" ( (binary_expression "puVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);" (assignment_expression "puVar2[10] = (int)((ulonglong)uVar5 >> 0x20)" (subscript_expression "puVar2[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar5 >> 0x20)" ( (binary_expression "(ulonglong)uVar5 >> 0x20" (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*puVar2 = &PTR_FUN_005dcc74;" (assignment_expression "*puVar2 = &PTR_FUN_005dcc74" (pointer_expression "*puVar2" * identifier) = (pointer_expression "&PTR_FUN_005dcc74" & identifier)) ;) (expression_statement "puVar2[1] = 0;" (assignment_expression "puVar2[1] = 0" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[3] = 0;" (assignment_expression "puVar2[3] = 0" (subscript_expression "puVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[4] = 0;" (assignment_expression "puVar2[4] = 0" (subscript_expression "puVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[5] = 0xffffffff;" (assignment_expression "puVar2[5] = 0xffffffff" (subscript_expression "puVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[6] = 0xffffffff;" (assignment_expression "puVar2[6] = 0xffffffff" (subscript_expression "puVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0xb] = 0;" (assignment_expression "puVar2[0xb] = 0" (subscript_expression "puVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xc)" * (cast_expression "(undefined1 *)(puVar2 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xd] = 0;" (assignment_expression "puVar2[0xd] = 0" (subscript_expression "puVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0xe] = 0;" (assignment_expression "puVar2[0xe] = 0" (subscript_expression "puVar2[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000b7560();" (call_expression "FUN_000b7560()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x2c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_1 + 0x2c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 0x20)" ( (binary_expression "*(int *)(param_1 + 0x2c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002ca8b0(iVar1,puVar2);\n      }" { (expression_statement "FUN_002ca8b0(iVar1,puVar2);" (call_expression "FUN_002ca8b0(iVar1,puVar2)" identifier (argument_list "(iVar1,puVar2)" ( identifier , identifier ))) ;) })) })) (expression_statement "puVar3 = (undefined4 *)FUN_003ac4d0(0x38);" (assignment_expression "puVar3 = (undefined4 *)FUN_003ac4d0(0x38)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x38)" identifier (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "*(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;" (assignment_expression "*(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar3 + 7)" * (cast_expression "(byte *)(puVar3 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 7)" ( (binary_expression "puVar3 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar3 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar3 + 7)" * (cast_expression "(byte *)(puVar3 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 7)" ( (binary_expression "puVar3 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = &PTR_FUN_005ddb3c;" (assignment_expression "*puVar3 = &PTR_FUN_005ddb3c" (pointer_expression "*puVar3" * identifier) = (pointer_expression "&PTR_FUN_005ddb3c" & identifier)) ;) (expression_statement "puVar3[0xd] = "** LPLT";" (assignment_expression "puVar3[0xd] = "** LPLT"" (subscript_expression "puVar3[0xd]" identifier [ number_literal ]) = (string_literal ""** LPLT"" " string_content ")) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[5] = 0xffffffff;" (assignment_expression "puVar3[5] = 0xffffffff" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[6] = 0xffffffff;" (assignment_expression "puVar3[6] = 0xffffffff" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[8] = 0;" (assignment_expression "puVar3[8] = 0" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[9] = 8;" (assignment_expression "puVar3[9] = 8" (subscript_expression "puVar3[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[10] = 0;" (assignment_expression "puVar3[10] = 0" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[0xb] = puVar2;" (assignment_expression "puVar3[0xb] = puVar2" (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[0xc] = param_1;" (assignment_expression "puVar3[0xc] = param_1" (subscript_expression "puVar3[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 **)(param_1 + 0x20) = puVar3;" (assignment_expression "*(undefined4 **)(param_1 + 0x20) = puVar3" (pointer_expression "*(undefined4 **)(param_1 + 0x20)" * (cast_expression "(undefined4 **)(param_1 + 0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000b9950();" (call_expression "FUN_000b9950()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == 0)" ( (binary_expression "*(int *)(param_1 + 0x24) == 0" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }" { (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" else (compound_statement "{\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" { (expression_statement "iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x24) + 0x20)" * (cast_expression "(int *)(*(int *)(param_1 + 0x24) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x24) + 0x20)" ( (binary_expression "*(int *)(param_1 + 0x24) + 0x20" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }" { (expression_statement "FUN_002ca8b0(iVar1,uVar4);" (call_expression "FUN_002ca8b0(iVar1,uVar4)" identifier (argument_list "(iVar1,uVar4)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);" (call_expression "FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1)" identifier (argument_list "(param_2,".branch_lt",1,3,0,uVar4,0x13,1)" ( identifier , (string_literal "".branch_lt"" " string_content ") , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* WARNING: Enum "ELFOSABI": Some values do not have unique names */\n/* DWARF original prototype: void make_lplt_section(Target_powerpc<64,_false> * this, Layout *\n   layout) */\n\nvoid __thiscall\nanon_unknown.dwarf_6462d4::Target_powerpc<64,_false>::make_lplt_section\n          (Target_powerpc<64,_false> *this,Layout *layout)\n\n{\n  undefined1 *puVar1;\n  General_options *pGVar2;\n  Output_section *pOVar3;\n  int in_EAX;\n  Output_section_data *pOVar4;\n  undefined4 *puVar5;\n  Layout *in_EDX;\n  uint64_t uVar6;\n  Target_powerpc<64,_false> *in_stack_ffffffd4;\n  Layout *in_stack_ffffffd8;\n  \n  if (*(int *)(in_EAX + 0x20) != 0) {\n    return;\n  }\n  pGVar2 = gold::parameters->options_;\n  if (pGVar2 != (General_options *)0x0) {\n    if (((pGVar2->shared_).value != false) ||\n       (pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false)) {\n      pOVar4 = (Output_section_data *)operator_new(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar6 = gold::Output_data::default_alignment_for_size(0x40);\n      *(int *)&pOVar4->addralign_ = (int)uVar6;\n      puVar1 = &(pOVar4->super_Output_data).field_0x1c;\n      *puVar1 = *puVar1 & 0xe0;\n      *(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20);\n      (pOVar4->super_Output_data)._vptr_Output_data =\n           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74;\n      *(undefined4 *)&(pOVar4->super_Output_data).address_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;\n      pOVar4->output_section_ = (Output_section *)0x0;\n      pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0;\n      *(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;\n      *(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;\n      rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n      }\n    }\n    puVar5 = (undefined4 *)operator_new(0x38);\n    *(byte *)(puVar5 + 7) = *(byte *)(puVar5 + 7) & 0xe0;\n    puVar5[1] = 0;\n    *puVar5 = &PTR__Output_data_plt_powerpc_005ddb3c;\n    puVar5[0xd] = "** LPLT";\n    puVar5[2] = 0;\n    puVar5[3] = 0;\n    puVar5[4] = 0;\n    puVar5[5] = 0xffffffff;\n    puVar5[6] = 0xffffffff;\n    puVar5[8] = 0;\n    puVar5[9] = 8;\n    puVar5[10] = 0;\n    puVar5[0xb] = pOVar4;\n    puVar5[0xc] = in_EAX;\n    *(undefined4 **)(in_EAX + 0x20) = puVar5;\n    make_brlt_section(in_stack_ffffffd4,in_stack_ffffffd8);\n    if (*(int *)(in_EAX + 0x24) == 0) {\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n    }\n    else {\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }\n    }\n    gold::Layout::add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");\n}\n\n" comment comment comment comment (declaration "void __thiscall\nanon_unknown.dwarf_6462d4::Target_powerpc<64,_false>::make_lplt_section\n          (Target_powerpc<64,_false> *this,Layout *layout)\n\n{\n  undefined1 *puVar1;" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_6462d4::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::make_lplt_section\n          (Target_powerpc<64,_false> *this,Layout *layout)\n\n{\n  undefined1" identifier > : : (function_declarator "make_lplt_section\n          (Target_powerpc<64,_false> *this,Layout *layout)" identifier (parameter_list "(Target_powerpc<64,_false> *this,Layout *layout)" ( (parameter_declaration "Target_powerpc" type_identifier) (ERROR "<64" < number_literal) , (parameter_declaration "_false> *this" type_identifier (ERROR ">" >) (pointer_declarator "*this" * identifier)) , (parameter_declaration "Layout *layout" type_identifier (pointer_declarator "*layout" * identifier)) ))) { identifier) (pointer_declarator "*puVar1" * identifier) ;) (declaration "General_options *pGVar2;" type_identifier (pointer_declarator "*pGVar2" * identifier) ;) (declaration "Output_section *pOVar3;" type_identifier (pointer_declarator "*pOVar3" * identifier) ;) (declaration "int in_EAX;" primitive_type identifier ;) (declaration "Output_section_data *pOVar4;" type_identifier (pointer_declarator "*pOVar4" * identifier) ;) (declaration "undefined4 *puVar5;" type_identifier (pointer_declarator "*puVar5" * identifier) ;) (declaration "Layout *in_EDX;" type_identifier (pointer_declarator "*in_EDX" * identifier) ;) (declaration "uint64_t uVar6;" primitive_type identifier ;) (expression_statement "Target_powerpc<64,_false> *in_stack_ffffffd4;" (update_expression "Target_powerpc<64,_false> *in_stack_ffffffd4" (binary_expression "Target_powerpc<64,_false> *in_stack_ffffffd4" (binary_expression "Target_powerpc<64" identifier < number_literal) (ERROR ",_false" , identifier) > (pointer_expression "*in_stack_ffffffd4" * identifier)) --) ;) (declaration "Layout *in_stack_ffffffd8;" type_identifier (pointer_declarator "*in_stack_ffffffd8" * identifier) ;) (if_statement "if (*(int *)(in_EAX + 0x20) != 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(in_EAX + 0x20) != 0)" ( (binary_expression "*(int *)(in_EAX + 0x20) != 0" (pointer_expression "*(int *)(in_EAX + 0x20)" * (cast_expression "(int *)(in_EAX + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0x20)" ( (binary_expression "in_EAX + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "pGVar2 = gold::parameters->options_;" (field_expression "pGVar2 = gold::parameters->options_" (assignment_expression "pGVar2 = gold" identifier = identifier) (ERROR "::parameters" : : identifier) -> field_identifier) ;) (if_statement "if (pGVar2 != (General_options *)0x0) {\n    if (((pGVar2->shared_).value != false) ||\n       (pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false)) {\n      pOVar4 = (Output_section_data *)operator_new(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar6 = gold::Output_data::default_alignment_for_size(0x40);\n      *(int *)&pOVar4->addralign_ = (int)uVar6;\n      puVar1 = &(pOVar4->super_Output_data).field_0x1c;\n      *puVar1 = *puVar1 & 0xe0;\n      *(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20);\n      (pOVar4->super_Output_data)._vptr_Output_data =\n           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74;\n      *(undefined4 *)&(pOVar4->super_Output_data).address_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;\n      pOVar4->output_section_ = (Output_section *)0x0;\n      pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0;\n      *(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;\n      *(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;\n      rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n      }\n    }\n    puVar5 = (undefined4 *)operator_new(0x38);\n    *(byte *)(puVar5 + 7) = *(byte *)(puVar5 + 7) & 0xe0;\n    puVar5[1] = 0;\n    *puVar5 = &PTR__Output_data_plt_powerpc_005ddb3c;\n    puVar5[0xd] = "** LPLT";\n    puVar5[2] = 0;\n    puVar5[3] = 0;\n    puVar5[4] = 0;\n    puVar5[5] = 0xffffffff;\n    puVar5[6] = 0xffffffff;\n    puVar5[8] = 0;\n    puVar5[9] = 8;\n    puVar5[10] = 0;\n    puVar5[0xb] = pOVar4;\n    puVar5[0xc] = in_EAX;\n    *(undefined4 **)(in_EAX + 0x20) = puVar5;\n    make_brlt_section(in_stack_ffffffd4,in_stack_ffffffd8);\n    if (*(int *)(in_EAX + 0x24) == 0) {\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n    }\n    else {\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }\n    }\n    gold::Layout::add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);\n    return;\n  }" if (parenthesized_expression "(pGVar2 != (General_options *)0x0)" ( (binary_expression "pGVar2 != (General_options *)0x0" identifier != (cast_expression "(General_options *)0x0" ( (type_descriptor "General_options *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((pGVar2->shared_).value != false) ||\n       (pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false)) {\n      pOVar4 = (Output_section_data *)operator_new(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar6 = gold::Output_data::default_alignment_for_size(0x40);\n      *(int *)&pOVar4->addralign_ = (int)uVar6;\n      puVar1 = &(pOVar4->super_Output_data).field_0x1c;\n      *puVar1 = *puVar1 & 0xe0;\n      *(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20);\n      (pOVar4->super_Output_data)._vptr_Output_data =\n           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74;\n      *(undefined4 *)&(pOVar4->super_Output_data).address_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;\n      pOVar4->output_section_ = (Output_section *)0x0;\n      pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0;\n      *(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;\n      *(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;\n      rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n      }\n    }\n    puVar5 = (undefined4 *)operator_new(0x38);\n    *(byte *)(puVar5 + 7) = *(byte *)(puVar5 + 7) & 0xe0;\n    puVar5[1] = 0;\n    *puVar5 = &PTR__Output_data_plt_powerpc_005ddb3c;\n    puVar5[0xd] = "** LPLT";\n    puVar5[2] = 0;\n    puVar5[3] = 0;\n    puVar5[4] = 0;\n    puVar5[5] = 0xffffffff;\n    puVar5[6] = 0xffffffff;\n    puVar5[8] = 0;\n    puVar5[9] = 8;\n    puVar5[10] = 0;\n    puVar5[0xb] = pOVar4;\n    puVar5[0xc] = in_EAX;\n    *(undefined4 **)(in_EAX + 0x20) = puVar5;\n    make_brlt_section(in_stack_ffffffd4,in_stack_ffffffd8);\n    if (*(int *)(in_EAX + 0x24) == 0) {\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n    }\n    else {\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }\n    }\n    gold::Layout::add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);\n    return;\n  }" { (if_statement "if (((pGVar2->shared_).value != false) ||\n       (pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false)) {\n      pOVar4 = (Output_section_data *)operator_new(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar6 = gold::Output_data::default_alignment_for_size(0x40);\n      *(int *)&pOVar4->addralign_ = (int)uVar6;\n      puVar1 = &(pOVar4->super_Output_data).field_0x1c;\n      *puVar1 = *puVar1 & 0xe0;\n      *(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20);\n      (pOVar4->super_Output_data)._vptr_Output_data =\n           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74;\n      *(undefined4 *)&(pOVar4->super_Output_data).address_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;\n      pOVar4->output_section_ = (Output_section *)0x0;\n      pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0;\n      *(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;\n      *(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;\n      rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n      }\n    }" if (parenthesized_expression "(((pGVar2->shared_).value != false) ||\n       (pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false))" ( (binary_expression "((pGVar2->shared_).value != false) ||\n       (pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false)" (parenthesized_expression "((pGVar2->shared_).value != false)" ( (binary_expression "(pGVar2->shared_).value != false" (field_expression "(pGVar2->shared_).value" (parenthesized_expression "(pGVar2->shared_)" ( (field_expression "pGVar2->shared_" identifier -> field_identifier) )) . field_identifier) != false) )) || (parenthesized_expression "(pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false)" ( (comma_expression "pOVar4 = (Output_section_data *)0x0, (pGVar2->pie_).value != false" (assignment_expression "pOVar4 = (Output_section_data *)0x0" identifier = (cast_expression "(Output_section_data *)0x0" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "(pGVar2->pie_).value != false" (field_expression "(pGVar2->pie_).value" (parenthesized_expression "(pGVar2->pie_)" ( (field_expression "pGVar2->pie_" identifier -> field_identifier) )) . field_identifier) != false)) ))) )) (compound_statement "{\n      pOVar4 = (Output_section_data *)operator_new(0x40);\n                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */\n      uVar6 = gold::Output_data::default_alignment_for_size(0x40);\n      *(int *)&pOVar4->addralign_ = (int)uVar6;\n      puVar1 = &(pOVar4->super_Output_data).field_0x1c;\n      *puVar1 = *puVar1 & 0xe0;\n      *(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20);\n      (pOVar4->super_Output_data)._vptr_Output_data =\n           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74;\n      *(undefined4 *)&(pOVar4->super_Output_data).address_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;\n      *(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;\n      *(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;\n      pOVar4->output_section_ = (Output_section *)0x0;\n      pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0;\n      *(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;\n      *(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0;\n      *(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;\n      rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8);\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n      }\n    }" { (expression_statement "pOVar4 = (Output_section_data *)operator_new(0x40);" (assignment_expression "pOVar4 = (Output_section_data *)operator_new(0x40)" identifier = (cast_expression "(Output_section_data *)operator_new(0x40)" ( (type_descriptor "Output_section_data *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) comment (ERROR "uVar6 = gold::" (assignment_expression "uVar6 = gold" identifier = identifier) : :) (labeled_statement "Output_data::default_alignment_for_size(0x40);" statement_identifier : (ERROR ":" :) (expression_statement "default_alignment_for_size(0x40);" (call_expression "default_alignment_for_size(0x40)" identifier (argument_list "(0x40)" ( number_literal ))) ;)) (expression_statement "*(int *)&pOVar4->addralign_ = (int)uVar6;" (assignment_expression "*(int *)&pOVar4->addralign_ = (int)uVar6" (pointer_expression "*(int *)&pOVar4->addralign_" * (cast_expression "(int *)&pOVar4->addralign_" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4->addralign_" & (field_expression "pOVar4->addralign_" identifier -> field_identifier)))) = (cast_expression "(int)uVar6" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "puVar1 = &(pOVar4->super_Output_data).field_0x1c;" (assignment_expression "puVar1 = &(pOVar4->super_Output_data).field_0x1c" identifier = (pointer_expression "&(pOVar4->super_Output_data).field_0x1c" & (field_expression "(pOVar4->super_Output_data).field_0x1c" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier))) ;) (expression_statement "*puVar1 = *puVar1 & 0xe0;" (assignment_expression "*puVar1 = *puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) = (binary_expression "*puVar1 & 0xe0" (pointer_expression "*puVar1" * identifier) & number_literal)) ;) (expression_statement "*(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20);" (assignment_expression "*(int *)((int)&pOVar4->addralign_ + 4) = (int)(uVar6 >> 0x20)" (pointer_expression "*(int *)((int)&pOVar4->addralign_ + 4)" * (cast_expression "(int *)((int)&pOVar4->addralign_ + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4->addralign_ + 4)" ( (binary_expression "(int)&pOVar4->addralign_ + 4" (cast_expression "(int)&pOVar4->addralign_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4->addralign_" & (field_expression "pOVar4->addralign_" identifier -> field_identifier))) + number_literal) )))) = (cast_expression "(int)(uVar6 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar6 >> 0x20)" ( (binary_expression "uVar6 >> 0x20" identifier >> number_literal) )))) ;) (expression_statement "(pOVar4->super_Output_data)._vptr_Output_data =\n           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74;" (assignment_expression "(pOVar4->super_Output_data)._vptr_Output_data =\n           (_func_int_varargs **)&PTR__Output_data_reloc_005dcc74" (field_expression "(pOVar4->super_Output_data)._vptr_Output_data" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(_func_int_varargs **)&PTR__Output_data_reloc_005dcc74" ( (type_descriptor "_func_int_varargs **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (pointer_expression "&PTR__Output_data_reloc_005dcc74" & identifier))) ;) (expression_statement "*(undefined4 *)&(pOVar4->super_Output_data).address_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->super_Output_data).address_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->super_Output_data).address_" * (cast_expression "(undefined4 *)&(pOVar4->super_Output_data).address_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->super_Output_data).address_" & (field_expression "(pOVar4->super_Output_data).address_" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->super_Output_data).address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->super_Output_data).address_ + 4)" ( (binary_expression "(int)&(pOVar4->super_Output_data).address_ + 4" (cast_expression "(int)&(pOVar4->super_Output_data).address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->super_Output_data).address_" & (field_expression "(pOVar4->super_Output_data).address_" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0;" (assignment_expression "*(undefined4 *)&(pOVar4->super_Output_data).data_size_ = 0" (pointer_expression "*(undefined4 *)&(pOVar4->super_Output_data).data_size_" * (cast_expression "(undefined4 *)&(pOVar4->super_Output_data).data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->super_Output_data).data_size_" & (field_expression "(pOVar4->super_Output_data).data_size_" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->super_Output_data).data_size_ + 4)" ( (binary_expression "(int)&(pOVar4->super_Output_data).data_size_ + 4" (cast_expression "(int)&(pOVar4->super_Output_data).data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->super_Output_data).data_size_" & (field_expression "(pOVar4->super_Output_data).data_size_" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;" (assignment_expression "*(undefined4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff" (pointer_expression "*(undefined4 *)&(pOVar4->super_Output_data).offset_" * (cast_expression "(undefined4 *)&(pOVar4->super_Output_data).offset_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&(pOVar4->super_Output_data).offset_" & (field_expression "(pOVar4->super_Output_data).offset_" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;" (assignment_expression "*(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff" (pointer_expression "*(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4)" * (cast_expression "(undefined4 *)((int)&(pOVar4->super_Output_data).offset_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&(pOVar4->super_Output_data).offset_ + 4)" ( (binary_expression "(int)&(pOVar4->super_Output_data).offset_ + 4" (cast_expression "(int)&(pOVar4->super_Output_data).offset_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&(pOVar4->super_Output_data).offset_" & (field_expression "(pOVar4->super_Output_data).offset_" (parenthesized_expression "(pOVar4->super_Output_data)" ( (field_expression "pOVar4->super_Output_data" identifier -> field_identifier) )) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "pOVar4->output_section_ = (Output_section *)0x0;" (assignment_expression "pOVar4->output_section_ = (Output_section *)0x0" (field_expression "pOVar4->output_section_" identifier -> field_identifier) = (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0;" (assignment_expression "pOVar4[1].super_Output_data._vptr_Output_data = (_func_int_varargs **)0x0" (field_expression "pOVar4[1].super_Output_data._vptr_Output_data" (field_expression "pOVar4[1].super_Output_data" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . 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 "*(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0;" (assignment_expression "*(undefined1 *)&pOVar4[1].super_Output_data.address_ = 0" (pointer_expression "*(undefined1 *)&pOVar4[1].super_Output_data.address_" * (cast_expression "(undefined1 *)&pOVar4[1].super_Output_data.address_" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4[1].super_Output_data.address_" & (field_expression "pOVar4[1].super_Output_data.address_" (field_expression "pOVar4[1].super_Output_data" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4[1].super_Output_data.address_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4[1].super_Output_data.address_ + 4)" ( (binary_expression "(int)&pOVar4[1].super_Output_data.address_ + 4" (cast_expression "(int)&pOVar4[1].super_Output_data.address_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4[1].super_Output_data.address_" & (field_expression "pOVar4[1].super_Output_data.address_" (field_expression "pOVar4[1].super_Output_data" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "*(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0;" (assignment_expression "*(undefined4 *)&pOVar4[1].super_Output_data.data_size_ = 0" (pointer_expression "*(undefined4 *)&pOVar4[1].super_Output_data.data_size_" * (cast_expression "(undefined4 *)&pOVar4[1].super_Output_data.data_size_" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (pointer_expression "&pOVar4[1].super_Output_data.data_size_" & (field_expression "pOVar4[1].super_Output_data.data_size_" (field_expression "pOVar4[1].super_Output_data" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) . field_identifier)))) = number_literal) ;) (expression_statement "*(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;" (assignment_expression "*(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0" (pointer_expression "*(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4)" * (cast_expression "(undefined4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)&pOVar4[1].super_Output_data.data_size_ + 4)" ( (binary_expression "(int)&pOVar4[1].super_Output_data.data_size_ + 4" (cast_expression "(int)&pOVar4[1].super_Output_data.data_size_" ( (type_descriptor "int" primitive_type) ) (pointer_expression "&pOVar4[1].super_Output_data.data_size_" & (field_expression "pOVar4[1].super_Output_data.data_size_" (field_expression "pOVar4[1].super_Output_data" (subscript_expression "pOVar4[1]" identifier [ number_literal ]) . field_identifier) . field_identifier))) + number_literal) )))) = number_literal) ;) (expression_statement "rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8);" (call_expression "rela_dyn_section(in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "(in_stack_ffffffd4,in_stack_ffffffd8)" ( identifier , identifier ))) ;) (expression_statement "pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20);" (assignment_expression "pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20)" identifier = (pointer_expression "*(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20)" * (cast_expression "(Output_section **)(*(int *)(in_EAX + 0x2c) + 0x20)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(in_EAX + 0x2c) + 0x20)" ( (binary_expression "*(int *)(in_EAX + 0x2c) + 0x20" (pointer_expression "*(int *)(in_EAX + 0x2c)" * (cast_expression "(int *)(in_EAX + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0x2c)" ( (binary_expression "in_EAX + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n      }" if (parenthesized_expression "(pOVar3 != (Output_section *)0x0)" ( (binary_expression "pOVar3 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n      }" { (labeled_statement "gold::Output_section::add_output_section_data(pOVar3,pOVar4);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_section::add_output_section_data(pOVar3,pOVar4);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_data(pOVar3,pOVar4);" (call_expression "add_output_section_data(pOVar3,pOVar4)" identifier (argument_list "(pOVar3,pOVar4)" ( identifier , identifier ))) ;))) })) })) (expression_statement "puVar5 = (undefined4 *)operator_new(0x38);" (assignment_expression "puVar5 = (undefined4 *)operator_new(0x38)" identifier = (cast_expression "(undefined4 *)operator_new(0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "operator_new(0x38)" identifier (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "*(byte *)(puVar5 + 7) = *(byte *)(puVar5 + 7) & 0xe0;" (assignment_expression "*(byte *)(puVar5 + 7) = *(byte *)(puVar5 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar5 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar5 + 7)" * (cast_expression "(byte *)(puVar5 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar5 + 7)" ( (binary_expression "puVar5 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar5[1] = 0;" (assignment_expression "puVar5[1] = 0" (subscript_expression "puVar5[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar5 = &PTR__Output_data_plt_powerpc_005ddb3c;" (assignment_expression "*puVar5 = &PTR__Output_data_plt_powerpc_005ddb3c" (pointer_expression "*puVar5" * identifier) = (pointer_expression "&PTR__Output_data_plt_powerpc_005ddb3c" & identifier)) ;) (expression_statement "puVar5[0xd] = "** LPLT";" (assignment_expression "puVar5[0xd] = "** LPLT"" (subscript_expression "puVar5[0xd]" identifier [ number_literal ]) = (string_literal ""** LPLT"" " string_content ")) ;) (expression_statement "puVar5[2] = 0;" (assignment_expression "puVar5[2] = 0" (subscript_expression "puVar5[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[3] = 0;" (assignment_expression "puVar5[3] = 0" (subscript_expression "puVar5[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[4] = 0;" (assignment_expression "puVar5[4] = 0" (subscript_expression "puVar5[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[5] = 0xffffffff;" (assignment_expression "puVar5[5] = 0xffffffff" (subscript_expression "puVar5[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[6] = 0xffffffff;" (assignment_expression "puVar5[6] = 0xffffffff" (subscript_expression "puVar5[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[8] = 0;" (assignment_expression "puVar5[8] = 0" (subscript_expression "puVar5[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[9] = 8;" (assignment_expression "puVar5[9] = 8" (subscript_expression "puVar5[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[10] = 0;" (assignment_expression "puVar5[10] = 0" (subscript_expression "puVar5[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar5[0xb] = pOVar4;" (assignment_expression "puVar5[0xb] = pOVar4" (subscript_expression "puVar5[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar5[0xc] = in_EAX;" (assignment_expression "puVar5[0xc] = in_EAX" (subscript_expression "puVar5[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 **)(in_EAX + 0x20) = puVar5;" (assignment_expression "*(undefined4 **)(in_EAX + 0x20) = puVar5" (pointer_expression "*(undefined4 **)(in_EAX + 0x20)" * (cast_expression "(undefined4 **)(in_EAX + 0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_EAX + 0x20)" ( (binary_expression "in_EAX + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "make_brlt_section(in_stack_ffffffd4,in_stack_ffffffd8);" (call_expression "make_brlt_section(in_stack_ffffffd4,in_stack_ffffffd8)" identifier (argument_list "(in_stack_ffffffd4,in_stack_ffffffd8)" ( identifier , identifier ))) ;) (if_statement "if (*(int *)(in_EAX + 0x24) == 0) {\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n    }\n    else {\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }\n    }" if (parenthesized_expression "(*(int *)(in_EAX + 0x24) == 0)" ( (binary_expression "*(int *)(in_EAX + 0x24) == 0" (pointer_expression "*(int *)(in_EAX + 0x24)" * (cast_expression "(int *)(in_EAX + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0x24)" ( (binary_expression "in_EAX + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n    }" { (expression_statement "pOVar4 = *(Output_section_data **)(in_EAX + 0x20);" (assignment_expression "pOVar4 = *(Output_section_data **)(in_EAX + 0x20)" identifier = (pointer_expression "*(Output_section_data **)(in_EAX + 0x20)" * (cast_expression "(Output_section_data **)(in_EAX + 0x20)" ( (type_descriptor "Output_section_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_EAX + 0x20)" ( (binary_expression "in_EAX + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }\n    }" else (compound_statement "{\n      pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);\n      pOVar4 = *(Output_section_data **)(in_EAX + 0x20);\n      if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }\n    }" { (expression_statement "pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20);" (assignment_expression "pOVar3 = *(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20)" identifier = (pointer_expression "*(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20)" * (cast_expression "(Output_section **)(*(int *)(in_EAX + 0x24) + 0x20)" ( (type_descriptor "Output_section **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(*(int *)(in_EAX + 0x24) + 0x20)" ( (binary_expression "*(int *)(in_EAX + 0x24) + 0x20" (pointer_expression "*(int *)(in_EAX + 0x24)" * (cast_expression "(int *)(in_EAX + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_EAX + 0x24)" ( (binary_expression "in_EAX + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "pOVar4 = *(Output_section_data **)(in_EAX + 0x20);" (assignment_expression "pOVar4 = *(Output_section_data **)(in_EAX + 0x20)" identifier = (pointer_expression "*(Output_section_data **)(in_EAX + 0x20)" * (cast_expression "(Output_section_data **)(in_EAX + 0x20)" ( (type_descriptor "Output_section_data **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(in_EAX + 0x20)" ( (binary_expression "in_EAX + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (pOVar3 != (Output_section *)0x0) {\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }" if (parenthesized_expression "(pOVar3 != (Output_section *)0x0)" ( (binary_expression "pOVar3 != (Output_section *)0x0" identifier != (cast_expression "(Output_section *)0x0" ( (type_descriptor "Output_section *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        gold::Output_section::add_output_section_data(pOVar3,pOVar4);\n        return;\n      }" { (labeled_statement "gold::Output_section::add_output_section_data(pOVar3,pOVar4);" statement_identifier : (ERROR ":" :) (labeled_statement "Output_section::add_output_section_data(pOVar3,pOVar4);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_data(pOVar3,pOVar4);" (call_expression "add_output_section_data(pOVar3,pOVar4)" identifier (argument_list "(pOVar3,pOVar4)" ( identifier , identifier ))) ;))) (return_statement "return;" return ;) })) }))) (labeled_statement "gold::Layout::add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);" statement_identifier : (ERROR ":" :) (labeled_statement "Layout::add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);" statement_identifier : (ERROR ":" :) (expression_statement "add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);" (call_expression "add_output_section_data(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true)" identifier (argument_list "(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true)" ( identifier , (string_literal "".branch_lt"" " string_content ") , number_literal , number_literal , identifier , identifier , true ))) ;))) (return_statement "return;" return ;) })) comment (labeled_statement "gold::do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" statement_identifier : (ERROR ":" :) (expression_statement "do_gold_unreachable("../../gold/parameters.h",0x5c,"options");" (call_expression "do_gold_unreachable("../../gold/parameters.h",0x5c,"options")" identifier (argument_list "("../../gold/parameters.h",0x5c,"options")" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") ))) ;)) (ERROR "}" }))
(translation_unit "void __regparm3 FUN_000b9b50(int param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}\n\n" (function_definition "void __regparm3 FUN_000b9b50(int param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000b9b50(int param_1,undefined4 param_2)" identifier (parameter_list "(int param_1,undefined4 param_2)" ( (parameter_declaration "int param_1" primitive_type identifier) , (parameter_declaration "undefined4 param_2" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 *puVar2;" type_identifier (pointer_declarator "*puVar2" * identifier) ;) (declaration "undefined4 *puVar3;" type_identifier (pointer_declarator "*puVar3" * identifier) ;) (declaration "undefined4 uVar4;" type_identifier identifier ;) (declaration "undefined8 uVar5;" type_identifier identifier ;) (if_statement "if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }" if (parenthesized_expression "(*(int *)(param_1 + 0x20) != 0)" ( (binary_expression "*(int *)(param_1 + 0x20) != 0" (pointer_expression "*(int *)(param_1 + 0x20)" * (cast_expression "(int *)(param_1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) != number_literal) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "iVar1 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar1 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }" { (if_statement "if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }" if (parenthesized_expression "((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0'))" ( (binary_expression "(*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar1 + 0x1a25) != '\0')" ( (binary_expression "*(char *)(iVar1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar1 + 0x1a25)" * (cast_expression "(char *)(iVar1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1a25)" ( (binary_expression "iVar1 + 0x1a25" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence ')) )) || (parenthesized_expression "(puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')" ( (comma_expression "puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0'" (assignment_expression "puVar2 = (undefined4 *)0x0" identifier = (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) , (binary_expression "*(char *)(iVar1 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar1 + 0x2931)" * (cast_expression "(char *)(iVar1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2931)" ( (binary_expression "iVar1 + 0x2931" identifier + number_literal) )))) != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }" { (expression_statement "puVar2 = (undefined4 *)FUN_003ac4d0(0x40);" (assignment_expression "puVar2 = (undefined4 *)FUN_003ac4d0(0x40)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x40)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x40)" identifier (argument_list "(0x40)" ( number_literal ))))) ;) (expression_statement "uVar5 = FUN_002c5bb0(0x40);" (assignment_expression "uVar5 = FUN_002c5bb0(0x40)" identifier = (call_expression "FUN_002c5bb0(0x40)" identifier (argument_list "(0x40)" ( number_literal )))) ;) (expression_statement "puVar2[9] = (int)uVar5;" (assignment_expression "puVar2[9] = (int)uVar5" (subscript_expression "puVar2[9]" identifier [ number_literal ]) = (cast_expression "(int)uVar5" ( (type_descriptor "int" primitive_type) ) identifier)) ;) (expression_statement "*(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar2 + 7)" * (cast_expression "(byte *)(puVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 7)" ( (binary_expression "puVar2 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar2 + 7)" * (cast_expression "(byte *)(puVar2 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 7)" ( (binary_expression "puVar2 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);" (assignment_expression "puVar2[10] = (int)((ulonglong)uVar5 >> 0x20)" (subscript_expression "puVar2[10]" identifier [ number_literal ]) = (cast_expression "(int)((ulonglong)uVar5 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar5 >> 0x20)" ( (binary_expression "(ulonglong)uVar5 >> 0x20" (cast_expression "(ulonglong)uVar5" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) )))) ;) (expression_statement "*puVar2 = &PTR_FUN_005dcc74;" (assignment_expression "*puVar2 = &PTR_FUN_005dcc74" (pointer_expression "*puVar2" * identifier) = (pointer_expression "&PTR_FUN_005dcc74" & identifier)) ;) (expression_statement "puVar2[1] = 0;" (assignment_expression "puVar2[1] = 0" (subscript_expression "puVar2[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[3] = 0;" (assignment_expression "puVar2[3] = 0" (subscript_expression "puVar2[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[4] = 0;" (assignment_expression "puVar2[4] = 0" (subscript_expression "puVar2[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[5] = 0xffffffff;" (assignment_expression "puVar2[5] = 0xffffffff" (subscript_expression "puVar2[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[6] = 0xffffffff;" (assignment_expression "puVar2[6] = 0xffffffff" (subscript_expression "puVar2[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0xb] = 0;" (assignment_expression "puVar2[0xb] = 0" (subscript_expression "puVar2[0xb]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*(undefined1 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xc)" * (cast_expression "(undefined1 *)(puVar2 + 0xc)" ( (type_descriptor "undefined1 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar2 + 0xc)" ( (binary_expression "puVar2 + 0xc" identifier + number_literal) )))) = number_literal) ;) (expression_statement "puVar2[0xd] = 0;" (assignment_expression "puVar2[0xd] = 0" (subscript_expression "puVar2[0xd]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0xe] = 0;" (assignment_expression "puVar2[0xe] = 0" (subscript_expression "puVar2[0xe]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "FUN_000b7560();" (call_expression "FUN_000b7560()" identifier (argument_list "()" ( ))) ;) (expression_statement "iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x2c) + 0x20)" * (cast_expression "(int *)(*(int *)(param_1 + 0x2c) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 0x20)" ( (binary_expression "*(int *)(param_1 + 0x2c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x2c)" * (cast_expression "(int *)(param_1 + 0x2c)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x2c)" ( (binary_expression "param_1 + 0x2c" identifier + number_literal) )))) + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002ca8b0(iVar1,puVar2);\n      }" { (expression_statement "FUN_002ca8b0(iVar1,puVar2);" (call_expression "FUN_002ca8b0(iVar1,puVar2)" identifier (argument_list "(iVar1,puVar2)" ( identifier , identifier ))) ;) })) })) (expression_statement "puVar3 = (undefined4 *)FUN_003ac4d0(0x38);" (assignment_expression "puVar3 = (undefined4 *)FUN_003ac4d0(0x38)" identifier = (cast_expression "(undefined4 *)FUN_003ac4d0(0x38)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_003ac4d0(0x38)" identifier (argument_list "(0x38)" ( number_literal ))))) ;) (expression_statement "*(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;" (assignment_expression "*(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar3 + 7)" * (cast_expression "(byte *)(puVar3 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 7)" ( (binary_expression "puVar3 + 7" identifier + number_literal) )))) = (binary_expression "*(byte *)(puVar3 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar3 + 7)" * (cast_expression "(byte *)(puVar3 + 7)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(puVar3 + 7)" ( (binary_expression "puVar3 + 7" identifier + number_literal) )))) & number_literal)) ;) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "*puVar3 = &PTR_FUN_005ddb3c;" (assignment_expression "*puVar3 = &PTR_FUN_005ddb3c" (pointer_expression "*puVar3" * identifier) = (pointer_expression "&PTR_FUN_005ddb3c" & identifier)) ;) (expression_statement "puVar3[0xd] = "** LPLT";" (assignment_expression "puVar3[0xd] = "** LPLT"" (subscript_expression "puVar3[0xd]" identifier [ number_literal ]) = (string_literal ""** LPLT"" " string_content ")) ;) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[5] = 0xffffffff;" (assignment_expression "puVar3[5] = 0xffffffff" (subscript_expression "puVar3[5]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[6] = 0xffffffff;" (assignment_expression "puVar3[6] = 0xffffffff" (subscript_expression "puVar3[6]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[8] = 0;" (assignment_expression "puVar3[8] = 0" (subscript_expression "puVar3[8]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[9] = 8;" (assignment_expression "puVar3[9] = 8" (subscript_expression "puVar3[9]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[10] = 0;" (assignment_expression "puVar3[10] = 0" (subscript_expression "puVar3[10]" identifier [ number_literal ]) = number_literal) ;) (expression_statement "puVar3[0xb] = puVar2;" (assignment_expression "puVar3[0xb] = puVar2" (subscript_expression "puVar3[0xb]" identifier [ number_literal ]) = identifier) ;) (expression_statement "puVar3[0xc] = param_1;" (assignment_expression "puVar3[0xc] = param_1" (subscript_expression "puVar3[0xc]" identifier [ number_literal ]) = identifier) ;) (expression_statement "*(undefined4 **)(param_1 + 0x20) = puVar3;" (assignment_expression "*(undefined4 **)(param_1 + 0x20) = puVar3" (pointer_expression "*(undefined4 **)(param_1 + 0x20)" * (cast_expression "(undefined4 **)(param_1 + 0x20)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "FUN_000b9950();" (call_expression "FUN_000b9950()" identifier (argument_list "()" ( ))) ;) (if_statement "if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" if (parenthesized_expression "(*(int *)(param_1 + 0x24) == 0)" ( (binary_expression "*(int *)(param_1 + 0x24) == 0" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) == number_literal) )) (compound_statement "{\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }" { (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" else (compound_statement "{\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" { (expression_statement "iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20)" identifier = (pointer_expression "*(int *)(*(int *)(param_1 + 0x24) + 0x20)" * (cast_expression "(int *)(*(int *)(param_1 + 0x24) + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1 + 0x24) + 0x20)" ( (binary_expression "*(int *)(param_1 + 0x24) + 0x20" (pointer_expression "*(int *)(param_1 + 0x24)" * (cast_expression "(int *)(param_1 + 0x24)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x24)" ( (binary_expression "param_1 + 0x24" identifier + number_literal) )))) + number_literal) ))))) ;) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x20)" identifier = (pointer_expression "*(undefined4 *)(param_1 + 0x20)" * (cast_expression "(undefined4 *)(param_1 + 0x20)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x20)" ( (binary_expression "param_1 + 0x20" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }" { (expression_statement "FUN_002ca8b0(iVar1,uVar4);" (call_expression "FUN_002ca8b0(iVar1,uVar4)" identifier (argument_list "(iVar1,uVar4)" ( identifier , identifier ))) ;) (return_statement "return;" return ;) })) }))) (expression_statement "FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);" (call_expression "FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1)" identifier (argument_list "(param_2,".branch_lt",1,3,0,uVar4,0x13,1)" ( identifier , (string_literal "".branch_lt"" " string_content ") , number_literal , number_literal , number_literal , identifier , number_literal , number_literal ))) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) )) (compound_statement { (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence ')) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) , (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE) ) IDENT)) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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 ]) = (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (pointer_expression & 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 (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 (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) })) })) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( LIT ))))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (binary_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 (pointer_expression * IDENT) = (pointer_expression & IDENT)) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (string_literal " string_content ")) ;) (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 ]) = IDENT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (return_statement return ;) })) }))) (expression_statement (call_expression IDENT (argument_list ( IDENT , (string_literal " string_content ") , LIT , LIT , LIT , IDENT , LIT , LIT ))) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })))
(function_definition "void __regparm3 FUN_000b9b50(int param_1,undefined4 param_2)\n\n{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000b9b50(int param_1,undefined4 param_2)" (identifier "FUN_000b9b50") (parameter_list "(int param_1,undefined4 param_2)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 *puVar2;\n  undefined4 *puVar3;\n  undefined4 uVar4;\n  undefined8 uVar5;\n  \n  if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 *puVar2;" (type_identifier "undefined4") (pointer_declarator "*puVar2" (* "*") (identifier "puVar2")) (; ";")) (declaration "undefined4 *puVar3;" (type_identifier "undefined4") (pointer_declarator "*puVar3" (* "*") (identifier "puVar3")) (; ";")) (declaration "undefined4 uVar4;" (type_identifier "undefined4") (identifier "uVar4") (; ";")) (declaration "undefined8 uVar5;" (type_identifier "undefined8") (identifier "uVar5") (; ";")) (if_statement "if (*(int *)(param_1 + 0x20) != 0) {\n    return;\n  }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x20) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x20) != 0" (pointer_expression "*(int *)(param_1 + 0x20)" (* "*") (cast_expression "(int *)(param_1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "iVar1 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar1 = *(int *)(DAT_005ea7c8 + 8)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }\n    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);\n    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;\n    puVar3[1] = 0;\n    *puVar3 = &PTR_FUN_005ddb3c;\n    puVar3[0xd] = "** LPLT";\n    puVar3[2] = 0;\n    puVar3[3] = 0;\n    puVar3[4] = 0;\n    puVar3[5] = 0xffffffff;\n    puVar3[6] = 0xffffffff;\n    puVar3[8] = 0;\n    puVar3[9] = 8;\n    puVar3[10] = 0;\n    puVar3[0xb] = puVar2;\n    puVar3[0xc] = param_1;\n    *(undefined4 **)(param_1 + 0x20) = puVar3;\n    FUN_000b9950();\n    if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }\n    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);\n    return;\n  }" ({ "{") (if_statement "if ((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }" (if "if") (parenthesized_expression "((*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0'))" (( "(") (binary_expression "(*(char *)(iVar1 + 0x1a25) != '\0') ||\n       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')" (parenthesized_expression "(*(char *)(iVar1 + 0x1a25) != '\0')" (( "(") (binary_expression "*(char *)(iVar1 + 0x1a25) != '\0'" (pointer_expression "*(char *)(iVar1 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar1 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1a25)" (( "(") (binary_expression "iVar1 + 0x1a25" (identifier "iVar1") (+ "+") (number_literal "0x1a25")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (|| "||") (parenthesized_expression "(puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')" (( "(") (comma_expression "puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0'" (assignment_expression "puVar2 = (undefined4 *)0x0" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (, ",") (binary_expression "*(char *)(iVar1 + 0x2931) != '\0'" (pointer_expression "*(char *)(iVar1 + 0x2931)" (* "*") (cast_expression "(char *)(iVar1 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2931)" (( "(") (binary_expression "iVar1 + 0x2931" (identifier "iVar1") (+ "+") (number_literal "0x2931")) () ")")))) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);\n                    \n      uVar5 = FUN_002c5bb0(0x40);\n      puVar2[9] = (int)uVar5;\n      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;\n      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);\n      *puVar2 = &PTR_FUN_005dcc74;\n      puVar2[1] = 0;\n      puVar2[2] = 0;\n      puVar2[3] = 0;\n      puVar2[4] = 0;\n      puVar2[5] = 0xffffffff;\n      puVar2[6] = 0xffffffff;\n      puVar2[8] = 0;\n      puVar2[0xb] = 0;\n      *(undefined1 *)(puVar2 + 0xc) = 0;\n      puVar2[0xd] = 0;\n      puVar2[0xe] = 0;\n      puVar2[0xf] = 0;\n      FUN_000b7560();\n      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }\n    }" ({ "{") (expression_statement "puVar2 = (undefined4 *)FUN_003ac4d0(0x40);" (assignment_expression "puVar2 = (undefined4 *)FUN_003ac4d0(0x40)" (identifier "puVar2") (= "=") (cast_expression "(undefined4 *)FUN_003ac4d0(0x40)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x40)" (identifier "FUN_003ac4d0") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")"))))) (; ";")) (expression_statement "uVar5 = FUN_002c5bb0(0x40);" (assignment_expression "uVar5 = FUN_002c5bb0(0x40)" (identifier "uVar5") (= "=") (call_expression "FUN_002c5bb0(0x40)" (identifier "FUN_002c5bb0") (argument_list "(0x40)" (( "(") (number_literal "0x40") () ")")))) (; ";")) (expression_statement "puVar2[9] = (int)uVar5;" (assignment_expression "puVar2[9] = (int)uVar5" (subscript_expression "puVar2[9]" (identifier "puVar2") ([ "[") (number_literal "9") (] "]")) (= "=") (cast_expression "(int)uVar5" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar5"))) (; ";")) (expression_statement "*(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;" (assignment_expression "*(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar2 + 7)" (* "*") (cast_expression "(byte *)(puVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 7)" (( "(") (binary_expression "puVar2 + 7" (identifier "puVar2") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(puVar2 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar2 + 7)" (* "*") (cast_expression "(byte *)(puVar2 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 7)" (( "(") (binary_expression "puVar2 + 7" (identifier "puVar2") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);" (assignment_expression "puVar2[10] = (int)((ulonglong)uVar5 >> 0x20)" (subscript_expression "puVar2[10]" (identifier "puVar2") ([ "[") (number_literal "10") (] "]")) (= "=") (cast_expression "(int)((ulonglong)uVar5 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar5 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar5 >> 0x20" (cast_expression "(ulonglong)uVar5" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar5")) (>> ">>") (number_literal "0x20")) () ")")))) (; ";")) (expression_statement "*puVar2 = &PTR_FUN_005dcc74;" (assignment_expression "*puVar2 = &PTR_FUN_005dcc74" (pointer_expression "*puVar2" (* "*") (identifier "puVar2")) (= "=") (pointer_expression "&PTR_FUN_005dcc74" (& "&") (identifier "PTR_FUN_005dcc74"))) (; ";")) (expression_statement "puVar2[1] = 0;" (assignment_expression "puVar2[1] = 0" (subscript_expression "puVar2[1]" (identifier "puVar2") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[2] = 0;" (assignment_expression "puVar2[2] = 0" (subscript_expression "puVar2[2]" (identifier "puVar2") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[3] = 0;" (assignment_expression "puVar2[3] = 0" (subscript_expression "puVar2[3]" (identifier "puVar2") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[4] = 0;" (assignment_expression "puVar2[4] = 0" (subscript_expression "puVar2[4]" (identifier "puVar2") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[5] = 0xffffffff;" (assignment_expression "puVar2[5] = 0xffffffff" (subscript_expression "puVar2[5]" (identifier "puVar2") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar2[6] = 0xffffffff;" (assignment_expression "puVar2[6] = 0xffffffff" (subscript_expression "puVar2[6]" (identifier "puVar2") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar2[8] = 0;" (assignment_expression "puVar2[8] = 0" (subscript_expression "puVar2[8]" (identifier "puVar2") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xb] = 0;" (assignment_expression "puVar2[0xb] = 0" (subscript_expression "puVar2[0xb]" (identifier "puVar2") ([ "[") (number_literal "0xb") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*(undefined1 *)(puVar2 + 0xc) = 0;" (assignment_expression "*(undefined1 *)(puVar2 + 0xc) = 0" (pointer_expression "*(undefined1 *)(puVar2 + 0xc)" (* "*") (cast_expression "(undefined1 *)(puVar2 + 0xc)" (( "(") (type_descriptor "undefined1 *" (type_identifier "undefined1") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar2 + 0xc)" (( "(") (binary_expression "puVar2 + 0xc" (identifier "puVar2") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xd] = 0;" (assignment_expression "puVar2[0xd] = 0" (subscript_expression "puVar2[0xd]" (identifier "puVar2") ([ "[") (number_literal "0xd") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xe] = 0;" (assignment_expression "puVar2[0xe] = 0" (subscript_expression "puVar2[0xe]" (identifier "puVar2") ([ "[") (number_literal "0xe") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar2[0xf] = 0;" (assignment_expression "puVar2[0xf] = 0" (subscript_expression "puVar2[0xf]" (identifier "puVar2") ([ "[") (number_literal "0xf") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "FUN_000b7560();" (call_expression "FUN_000b7560()" (identifier "FUN_000b7560") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x2c) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x2c) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x2c) + 0x20)" (( "(") (binary_expression "*(int *)(param_1 + 0x2c) + 0x20" (pointer_expression "*(int *)(param_1 + 0x2c)" (* "*") (cast_expression "(int *)(param_1 + 0x2c)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x2c)" (( "(") (binary_expression "param_1 + 0x2c" (identifier "param_1") (+ "+") (number_literal "0x2c")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,puVar2);\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_002ca8b0(iVar1,puVar2);\n      }" ({ "{") (expression_statement "FUN_002ca8b0(iVar1,puVar2);" (call_expression "FUN_002ca8b0(iVar1,puVar2)" (identifier "FUN_002ca8b0") (argument_list "(iVar1,puVar2)" (( "(") (identifier "iVar1") (, ",") (identifier "puVar2") () ")"))) (; ";")) (} "}"))) (} "}"))) (expression_statement "puVar3 = (undefined4 *)FUN_003ac4d0(0x38);" (assignment_expression "puVar3 = (undefined4 *)FUN_003ac4d0(0x38)" (identifier "puVar3") (= "=") (cast_expression "(undefined4 *)FUN_003ac4d0(0x38)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_003ac4d0(0x38)" (identifier "FUN_003ac4d0") (argument_list "(0x38)" (( "(") (number_literal "0x38") () ")"))))) (; ";")) (expression_statement "*(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;" (assignment_expression "*(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar3 + 7)" (* "*") (cast_expression "(byte *)(puVar3 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 7)" (( "(") (binary_expression "puVar3 + 7" (identifier "puVar3") (+ "+") (number_literal "7")) () ")")))) (= "=") (binary_expression "*(byte *)(puVar3 + 7) & 0xe0" (pointer_expression "*(byte *)(puVar3 + 7)" (* "*") (cast_expression "(byte *)(puVar3 + 7)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(puVar3 + 7)" (( "(") (binary_expression "puVar3 + 7" (identifier "puVar3") (+ "+") (number_literal "7")) () ")")))) (& "&") (number_literal "0xe0"))) (; ";")) (expression_statement "puVar3[1] = 0;" (assignment_expression "puVar3[1] = 0" (subscript_expression "puVar3[1]" (identifier "puVar3") ([ "[") (number_literal "1") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "*puVar3 = &PTR_FUN_005ddb3c;" (assignment_expression "*puVar3 = &PTR_FUN_005ddb3c" (pointer_expression "*puVar3" (* "*") (identifier "puVar3")) (= "=") (pointer_expression "&PTR_FUN_005ddb3c" (& "&") (identifier "PTR_FUN_005ddb3c"))) (; ";")) (expression_statement "puVar3[0xd] = "** LPLT";" (assignment_expression "puVar3[0xd] = "** LPLT"" (subscript_expression "puVar3[0xd]" (identifier "puVar3") ([ "[") (number_literal "0xd") (] "]")) (= "=") (string_literal ""** LPLT"" (" """) (string_content "** LPLT") (" """))) (; ";")) (expression_statement "puVar3[2] = 0;" (assignment_expression "puVar3[2] = 0" (subscript_expression "puVar3[2]" (identifier "puVar3") ([ "[") (number_literal "2") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[3] = 0;" (assignment_expression "puVar3[3] = 0" (subscript_expression "puVar3[3]" (identifier "puVar3") ([ "[") (number_literal "3") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[4] = 0;" (assignment_expression "puVar3[4] = 0" (subscript_expression "puVar3[4]" (identifier "puVar3") ([ "[") (number_literal "4") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[5] = 0xffffffff;" (assignment_expression "puVar3[5] = 0xffffffff" (subscript_expression "puVar3[5]" (identifier "puVar3") ([ "[") (number_literal "5") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar3[6] = 0xffffffff;" (assignment_expression "puVar3[6] = 0xffffffff" (subscript_expression "puVar3[6]" (identifier "puVar3") ([ "[") (number_literal "6") (] "]")) (= "=") (number_literal "0xffffffff")) (; ";")) (expression_statement "puVar3[8] = 0;" (assignment_expression "puVar3[8] = 0" (subscript_expression "puVar3[8]" (identifier "puVar3") ([ "[") (number_literal "8") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[9] = 8;" (assignment_expression "puVar3[9] = 8" (subscript_expression "puVar3[9]" (identifier "puVar3") ([ "[") (number_literal "9") (] "]")) (= "=") (number_literal "8")) (; ";")) (expression_statement "puVar3[10] = 0;" (assignment_expression "puVar3[10] = 0" (subscript_expression "puVar3[10]" (identifier "puVar3") ([ "[") (number_literal "10") (] "]")) (= "=") (number_literal "0")) (; ";")) (expression_statement "puVar3[0xb] = puVar2;" (assignment_expression "puVar3[0xb] = puVar2" (subscript_expression "puVar3[0xb]" (identifier "puVar3") ([ "[") (number_literal "0xb") (] "]")) (= "=") (identifier "puVar2")) (; ";")) (expression_statement "puVar3[0xc] = param_1;" (assignment_expression "puVar3[0xc] = param_1" (subscript_expression "puVar3[0xc]" (identifier "puVar3") ([ "[") (number_literal "0xc") (] "]")) (= "=") (identifier "param_1")) (; ";")) (expression_statement "*(undefined4 **)(param_1 + 0x20) = puVar3;" (assignment_expression "*(undefined4 **)(param_1 + 0x20) = puVar3" (pointer_expression "*(undefined4 **)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 **)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "puVar3")) (; ";")) (expression_statement "FUN_000b9950();" (call_expression "FUN_000b9950()" (identifier "FUN_000b9950") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (*(int *)(param_1 + 0x24) == 0) {\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }\n    else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(*(int *)(param_1 + 0x24) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x24) == 0" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n    }" ({ "{") (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x20)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" (else "else") (compound_statement "{\n      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);\n      uVar4 = *(undefined4 *)(param_1 + 0x20);\n      if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }\n    }" ({ "{") (expression_statement "iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);" (assignment_expression "iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(*(int *)(param_1 + 0x24) + 0x20)" (* "*") (cast_expression "(int *)(*(int *)(param_1 + 0x24) + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1 + 0x24) + 0x20)" (( "(") (binary_expression "*(int *)(param_1 + 0x24) + 0x20" (pointer_expression "*(int *)(param_1 + 0x24)" (* "*") (cast_expression "(int *)(param_1 + 0x24)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x24)" (( "(") (binary_expression "param_1 + 0x24" (identifier "param_1") (+ "+") (number_literal "0x24")) () ")")))) (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (expression_statement "uVar4 = *(undefined4 *)(param_1 + 0x20);" (assignment_expression "uVar4 = *(undefined4 *)(param_1 + 0x20)" (identifier "uVar4") (= "=") (pointer_expression "*(undefined4 *)(param_1 + 0x20)" (* "*") (cast_expression "(undefined4 *)(param_1 + 0x20)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x20)" (( "(") (binary_expression "param_1 + 0x20" (identifier "param_1") (+ "+") (number_literal "0x20")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        FUN_002ca8b0(iVar1,uVar4);\n        return;\n      }" ({ "{") (expression_statement "FUN_002ca8b0(iVar1,uVar4);" (call_expression "FUN_002ca8b0(iVar1,uVar4)" (identifier "FUN_002ca8b0") (argument_list "(iVar1,uVar4)" (( "(") (identifier "iVar1") (, ",") (identifier "uVar4") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")))) (expression_statement "FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);" (call_expression "FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1)" (identifier "FUN_0027afd0") (argument_list "(param_2,".branch_lt",1,3,0,uVar4,0x13,1)" (( "(") (identifier "param_2") (, ",") (string_literal "".branch_lt"" (" """) (string_content ".branch_lt") (" """)) (, ",") (number_literal "1") (, ",") (number_literal "3") (, ",") (number_literal "0") (, ",") (identifier "uVar4") (, ",") (number_literal "0x13") (, ",") (number_literal "1") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2)" (identifier "FUN_002446e0") (argument_list "("../../gold/parameters.h",0x5c,"options",param_2)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) (, ",") (identifier "param_2") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* WARNING: Enum "ELFOSABI": Some values do not have unique names */
/* DWARF original prototype: void make_lplt_section(Target_powerpc<64,_false> * this, Layout *
   layout) */

void __thiscall
anon_unknown.dwarf_6462d4::var_1<64,_false>::make_lplt_section
          (var_1<64,_false> *this,type_5 *layout)

{
  type_7 *puVar1;
  type_1 *var_3;
  type_2 *var_8;
  int var_2;
  type_3 *pOVar4;
  type_4 *var_10;
  type_5 *in_EDX;
  uint64_t var_6;
  var_1<64,_false> *in_stack_ffffffd4;
  type_5 *in_stack_ffffffd8;
  
  if (*(int *)(var_2 + 0x20) != 0) {
    return;
  }
  var_3 = gold::parameters->options_;
  if (var_3 != (type_1 *)0x0) {
    if (((var_3->shared_).value != false) ||
       (pOVar4 = (type_3 *)0x0, (var_3->pie_).value != false)) {
      pOVar4 = (type_3 *)var_4(0x40);
                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */
      var_6 = gold::Output_data::var_5(0x40);
      *(int *)&pOVar4->addralign_ = (int)var_6;
      puVar1 = &(pOVar4->super_Output_data).field_0x1c;
      *puVar1 = *puVar1 & 0xe0;
      *(int *)((int)&pOVar4->addralign_ + 4) = (int)(var_6 >> 0x20);
      (pOVar4->super_Output_data)._vptr_Output_data =
           (type_6 **)&PTR__Output_data_reloc_005dcc74;
      *(type_4 *)&(pOVar4->super_Output_data).address_ = 0;
      *(type_4 *)((int)&(pOVar4->super_Output_data).address_ + 4) = 0;
      *(type_4 *)&(pOVar4->super_Output_data).data_size_ = 0;
      *(type_4 *)((int)&(pOVar4->super_Output_data).data_size_ + 4) = 0;
      *(type_4 *)&(pOVar4->super_Output_data).offset_ = 0xffffffff;
      *(type_4 *)((int)&(pOVar4->super_Output_data).offset_ + 4) = 0xffffffff;
      pOVar4->output_section_ = (type_2 *)0x0;
      pOVar4[1].super_Output_data._vptr_Output_data = (type_6 **)0x0;
      *(type_7 *)&pOVar4[1].super_Output_data.address_ = 0;
      *(type_4 *)((int)&pOVar4[1].super_Output_data.address_ + 4) = 0;
      *(type_4 *)&pOVar4[1].super_Output_data.data_size_ = 0;
      *(type_4 *)((int)&pOVar4[1].super_Output_data.data_size_ + 4) = 0;
      var_7(in_stack_ffffffd4,in_stack_ffffffd8);
      var_8 = *(type_2 **)(*(int *)(var_2 + 0x2c) + 0x20);
      if (var_8 != (type_2 *)0x0) {
        gold::Output_section::var_9(var_8,pOVar4);
      }
    }
    var_10 = (type_4 *)var_4(0x38);
    *(type_8 *)(var_10 + 7) = *(type_8 *)(var_10 + 7) & 0xe0;
    var_10[1] = 0;
    *var_10 = &PTR__Output_data_plt_powerpc_005ddb3c;
    var_10[0xd] = "** LPLT";
    var_10[2] = 0;
    var_10[3] = 0;
    var_10[4] = 0;
    var_10[5] = 0xffffffff;
    var_10[6] = 0xffffffff;
    var_10[8] = 0;
    var_10[9] = 8;
    var_10[10] = 0;
    var_10[0xb] = pOVar4;
    var_10[0xc] = var_2;
    *(type_4 **)(var_2 + 0x20) = var_10;
    var_11(in_stack_ffffffd4,in_stack_ffffffd8);
    if (*(int *)(var_2 + 0x24) == 0) {
      pOVar4 = *(type_3 **)(var_2 + 0x20);
    }
    else {
      var_8 = *(type_2 **)(*(int *)(var_2 + 0x24) + 0x20);
      pOVar4 = *(type_3 **)(var_2 + 0x20);
      if (var_8 != (type_2 *)0x0) {
        gold::Output_section::var_9(var_8,pOVar4);
        return;
      }
    }
    gold::Layout::var_9(in_EDX,".branch_lt",1,3,pOVar4,ORDER_RELRO,true);
    return;
  }
                    /* WARNING: Subroutine does not return */
  gold::var_12("../../gold/parameters.h",0x5c,"options");
}


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

/* WARNING: Function: __i686.get_pc_thunk.cx replaced with injection: get_pc_thunk_cx */

void __regparm3 MASKED(int param_1,undefined4 param_2)

{
  int iVar1;
  undefined4 *puVar2;
  undefined4 *puVar3;
  undefined4 uVar4;
  undefined8 uVar5;
  
  if (*(int *)(param_1 + 0x20) != 0) {
    return;
  }
  iVar1 = *(int *)(DAT_005ea7c8 + 8);
  if (iVar1 != 0) {
    if ((*(char *)(iVar1 + 0x1a25) != '\0') ||
       (puVar2 = (undefined4 *)0x0, *(char *)(iVar1 + 0x2931) != '\0')) {
      puVar2 = (undefined4 *)FUN_003ac4d0(0x40);
                    /* try { // try from 000b9bbe to 000b9bc2 has its CatchHandler @ 000b9d53 */
      uVar5 = FUN_002c5bb0(0x40);
      puVar2[9] = (int)uVar5;
      *(byte *)(puVar2 + 7) = *(byte *)(puVar2 + 7) & 0xe0;
      puVar2[10] = (int)((ulonglong)uVar5 >> 0x20);
      *puVar2 = &PTR_FUN_005dcc74;
      puVar2[1] = 0;
      puVar2[2] = 0;
      puVar2[3] = 0;
      puVar2[4] = 0;
      puVar2[5] = 0xffffffff;
      puVar2[6] = 0xffffffff;
      puVar2[8] = 0;
      puVar2[0xb] = 0;
      *(undefined1 *)(puVar2 + 0xc) = 0;
      puVar2[0xd] = 0;
      puVar2[0xe] = 0;
      puVar2[0xf] = 0;
      FUN_000b7560();
      iVar1 = *(int *)(*(int *)(param_1 + 0x2c) + 0x20);
      if (iVar1 != 0) {
        FUN_002ca8b0(iVar1,puVar2);
      }
    }
    puVar3 = (undefined4 *)FUN_003ac4d0(0x38);
    *(byte *)(puVar3 + 7) = *(byte *)(puVar3 + 7) & 0xe0;
    puVar3[1] = 0;
    *puVar3 = &PTR_FUN_005ddb3c;
    puVar3[0xd] = "** LPLT";
    puVar3[2] = 0;
    puVar3[3] = 0;
    puVar3[4] = 0;
    puVar3[5] = 0xffffffff;
    puVar3[6] = 0xffffffff;
    puVar3[8] = 0;
    puVar3[9] = 8;
    puVar3[10] = 0;
    puVar3[0xb] = puVar2;
    puVar3[0xc] = param_1;
    *(undefined4 **)(param_1 + 0x20) = puVar3;
    FUN_000b9950();
    if (*(int *)(param_1 + 0x24) == 0) {
      uVar4 = *(undefined4 *)(param_1 + 0x20);
    }
    else {
      iVar1 = *(int *)(*(int *)(param_1 + 0x24) + 0x20);
      uVar4 = *(undefined4 *)(param_1 + 0x20);
      if (iVar1 != 0) {
        FUN_002ca8b0(iVar1,uVar4);
        return;
      }
    }
    FUN_0027afd0(param_2,".branch_lt",1,3,0,uVar4,0x13,1);
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_2);
}

