
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void gldelf64lppc_finish(void)

{
  undefined *puVar1;
  char **ppcVar2;
  int iVar3;
  char *pcVar4;
  char *pcVar5;
  char *msg;
  undefined4 uStack_14;
  
  uStack_14 = 0x59fa9;
  msg = (char *)0x0;
  if (stub_file == (lang_input_statement_type *)0x0) {
    if (params.emit_stub_syms < 0) {
      params.emit_stub_syms = 1;
    }
  }
  else {
    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {
      entry_section = ".opd";
    }
    if (params.emit_stub_syms < 0) {
      params.emit_stub_syms = 1;
    }
    if ((link_info._0_1_ & 3) != 2) {
      ppcVar2 = &msg;
      if (config.stats == 0) {
        ppcVar2 = (char **)0x0;
      }
      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);
      if (iVar3 == 0) {
        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);
        einfo(pcVar5);
      }
    }
  }
  fflush(*(FILE **)PTR_stdout_001befcc);
  puVar1 = PTR_stderr_001bef98;
  pcVar5 = msg;
  do {
    if (pcVar5 == (char *)0x0) {
LAB_0005a0a0:
      fflush(*(FILE **)puVar1);
      if (msg != (char *)0x0) {
        free(msg);
      }
      finish_default();
      return;
    }
    pcVar4 = strchr(pcVar5,10);
    if (pcVar4 == (char *)0x0) {
      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);
      goto LAB_0005a0a0;
    }
    *pcVar4 = '\0';
    fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);
    pcVar5 = pcVar4 + 1;
  } while( true );
}



/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void FUN_00059fa0(void)

{
  char *__s;
  undefined *puVar1;
  char **ppcVar2;
  int iVar3;
  char *pcVar4;
  undefined4 uVar5;
  char *local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x59fa9;
  local_20[0] = (char *)0x0;
  if (DAT_001c0ce4 == 0) {
    if (DAT_001c0170 < 0) {
      DAT_001c0170 = 1;
    }
  }
  else {
    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {
      PTR_s__text_001bf394 = &DAT_0016e815;
    }
    if (DAT_001c0170 < 0) {
      DAT_001c0170 = 1;
    }
    if (((byte)DAT_001c0e20 & 3) != 2) {
      ppcVar2 = local_20;
      if (DAT_001c0f54 == 0) {
        ppcVar2 = (char **)0x0;
      }
      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);
      if (iVar3 == 0) {
        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);
        FUN_00034d60(uVar5);
      }
    }
  }
  fflush(*(FILE **)PTR_stdout_001befcc);
  puVar1 = PTR_stderr_001bef98;
  __s = local_20[0];
  do {
    if (__s == (char *)0x0) {
LAB_0005a0a0:
      fflush(*(FILE **)puVar1);
      if (local_20[0] != (char *)0x0) {
        free(local_20[0]);
      }
      FUN_000339f0();
      return;
    }
    pcVar4 = strchr(__s,10);
    if (pcVar4 == (char *)0x0) {
      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);
      goto LAB_0005a0a0;
    }
    *pcVar4 = '\0';
    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);
    __s = pcVar4 + 1;
  } while( true );
}


PUSH EBP
PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017bc0
ADD EBX,0x165057
SUB ESP,0x2c
MOV dword ptr [ESP + 0x1c],0x0
MOV ESI,dword ptr [EBX + 0x1ce4]
MOV ECX,dword ptr [EBX + 0x1170]
TEST ESI,ESI
JZ 0x0005a130
LEA EDX,[EBX + 0x1e20]
MOV EAX,dword ptr [EDX + 0x34]
MOV EAX,dword ptr [EAX + 0xa0]
MOV EAX,dword ptr [EAX + 0x2c]
AND EAX,0x3
CMP EAX,0x1
JZ 0x0005a110
TEST ECX,ECX
JS 0x0005a0f0
MOVZX EAX,byte ptr [EDX]
AND EAX,0x3
CMP AL,0x2
JZ 0x0005a02a
LEA ECX,[EBX + 0x1f20]
LEA EAX,[ESP + 0x1c]
MOV ECX,dword ptr [ECX + 0x34]
TEST ECX,ECX
MOV ECX,0x0
CMOVZ EAX,ECX
SUB ESP,0x8
PUSH EAX
PUSH EDX
CALL 0x00016a20
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0005a150
MOV EAX,dword ptr [EBX + 0xffffffcc]
SUB ESP,0xc
PUSH dword ptr [EAX]
CALL 0x00016170
MOV EBP,dword ptr [ESP + 0x2c]
ADD ESP,0x10
TEST EBP,EBP
JZ 0x0005a178
LEA EAX,[EBX + 0x1f98]
MOV EDI,dword ptr [EBX + 0xffffff98]
MOV dword ptr [ESP + 0x8],EAX
LEA EAX,[EBX + 0xfffaf81a]
MOV dword ptr [ESP + 0xc],EAX
LEA ESI,[ESI]
NOP
SUB ESP,0x8
PUSH 0xa
PUSH EBP
CALL 0x00016780
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0005a0d0
MOV byte ptr [EAX],0x0
LEA ESI,[EAX + 0x1]
PUSH EBP
MOV EAX,dword ptr [ESP + 0xc]
MOV EBP,ESI
PUSH dword ptr [EAX]
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [EDI]
CALL 0x000167f0
ADD ESP,0x10
TEST ESI,ESI
JNZ 0x0005a068
LEA ESI,[ESI]
NOP
SUB ESP,0xc
PUSH dword ptr [EDI]
CALL 0x00016170
MOV EAX,dword ptr [ESP + 0x2c]
ADD ESP,0x10
TEST EAX,EAX
JZ 0x0005a0c1
SUB ESP,0xc
PUSH EAX
CALL 0x00016df0
ADD ESP,0x10
CALL 0x000339f0
ADD ESP,0x2c
POP EBX
POP ESI
POP EDI
POP EBP
RET
PUSH EBP
MOV EAX,dword ptr [ESP + 0xc]
PUSH dword ptr [EAX]
PUSH dword ptr [ESP + 0x14]
PUSH dword ptr [EDI]
CALL 0x000167f0
ADD ESP,0x10
JMP 0x0005a0a0
MOV dword ptr [EBX + 0x1170],0x1
MOVZX EAX,byte ptr [EDX]
AND EAX,0x3
CMP AL,0x2
JNZ 0x00059ffe
JMP 0x0005a02a
LEA EAX,[EBX + 0x394]
LEA ESI,[EBX + 0xfffaf815]
MOV dword ptr [EAX],ESI
TEST ECX,ECX
JNS 0x00059ff4
JMP 0x0005a0f0
TEST ECX,ECX
JNS 0x0005a02a
MOV dword ptr [EBX + 0x1170],0x1
JMP 0x0005a02a
SUB ESP,0x4
LEA EAX,[EBX + 0xfffaf75c]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x00016360
MOV dword ptr [ESP],EAX
CALL 0x00034d60
ADD ESP,0x10
JMP 0x0005a02a
MOV EDI,dword ptr [EBX + 0xffffff98]
JMP 0x0005a0a0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00059fa0(void)\n\n{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}\n\n" comment (function_definition "void FUN_00059fa0(void)\n\n{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00059fa0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char **ppcVar2;" primitive_type (pointer_declarator "**ppcVar2" * (pointer_declarator "*ppcVar2" * identifier)) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "char *local_20 [3];" primitive_type (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x59fa9;" (assignment_expression "uStack_14 = 0x59fa9" identifier = number_literal) ;) (expression_statement "local_20[0] = (char *)0x0;" (assignment_expression "local_20[0] = (char *)0x0" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" if (parenthesized_expression "(DAT_001c0ce4 == 0)" ( (binary_expression "DAT_001c0ce4 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }" { (if_statement "if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }" if (parenthesized_expression "(DAT_001c0170 < 0)" ( (binary_expression "DAT_001c0170 < 0" identifier < number_literal) )) (compound_statement "{\n      DAT_001c0170 = 1;\n    }" { (expression_statement "DAT_001c0170 = 1;" (assignment_expression "DAT_001c0170 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" else (compound_statement "{\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" { (if_statement "if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }" if (parenthesized_expression "((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1)" ( (binary_expression "(*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1" (parenthesized_expression "(*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3)" ( (binary_expression "*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3" (pointer_expression "*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" * (cast_expression "(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" ( (binary_expression "*(int *)(DAT_001c0e54 + 0xa0) + 0x2c" (pointer_expression "*(int *)(DAT_001c0e54 + 0xa0)" * (cast_expression "(int *)(DAT_001c0e54 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001c0e54 + 0xa0)" ( (binary_expression "DAT_001c0e54 + 0xa0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }" { (expression_statement "PTR_s__text_001bf394 = &DAT_0016e815;" (assignment_expression "PTR_s__text_001bf394 = &DAT_0016e815" identifier = (pointer_expression "&DAT_0016e815" & identifier)) ;) })) (if_statement "if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }" if (parenthesized_expression "(DAT_001c0170 < 0)" ( (binary_expression "DAT_001c0170 < 0" identifier < number_literal) )) (compound_statement "{\n      DAT_001c0170 = 1;\n    }" { (expression_statement "DAT_001c0170 = 1;" (assignment_expression "DAT_001c0170 = 1" identifier = number_literal) ;) })) (if_statement "if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }" if (parenthesized_expression "(((byte)DAT_001c0e20 & 3) != 2)" ( (binary_expression "((byte)DAT_001c0e20 & 3) != 2" (parenthesized_expression "((byte)DAT_001c0e20 & 3)" ( (binary_expression "(byte)DAT_001c0e20 & 3" (cast_expression "(byte)DAT_001c0e20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }" { (expression_statement "ppcVar2 = local_20;" (assignment_expression "ppcVar2 = local_20" identifier = identifier) ;) (if_statement "if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }" if (parenthesized_expression "(DAT_001c0f54 == 0)" ( (binary_expression "DAT_001c0f54 == 0" identifier == number_literal) )) (compound_statement "{\n        ppcVar2 = (char **)0x0;\n      }" { (expression_statement "ppcVar2 = (char **)0x0;" (assignment_expression "ppcVar2 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);" (assignment_expression "iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2)" identifier = (call_expression "ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2)" identifier (argument_list "(&DAT_001c0e20,ppcVar2)" ( (pointer_expression "&DAT_001c0e20" & identifier) , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }" { (expression_statement "uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);" (assignment_expression "uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: can not build stubs: %E\n",5)" identifier (argument_list "(0,"%X%P: can not build stubs: %E\n",5)" ( number_literal , (string_literal ""%X%P: can not build stubs: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d60(uVar5);" (call_expression "FUN_00034d60(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) })) })) }))) (expression_statement "fflush(*(FILE **)PTR_stdout_001befcc);" (call_expression "fflush(*(FILE **)PTR_stdout_001befcc)" identifier (argument_list "(*(FILE **)PTR_stdout_001befcc)" ( (pointer_expression "*(FILE **)PTR_stdout_001befcc" * (cast_expression "(FILE **)PTR_stdout_001befcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "puVar1 = PTR_stderr_001bef98;" (assignment_expression "puVar1 = PTR_stderr_001bef98" identifier = identifier) ;) (expression_statement "__s = local_20[0];" (assignment_expression "__s = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (do_statement "do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );" do (compound_statement "{\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  }" { (if_statement "if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }" { (labeled_statement "LAB_0005a0a0:\n      fflush(*(FILE **)puVar1);" statement_identifier : (expression_statement "fflush(*(FILE **)puVar1);" (call_expression "fflush(*(FILE **)puVar1)" identifier (argument_list "(*(FILE **)puVar1)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;)) (if_statement "if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }" if (parenthesized_expression "(local_20[0] != (char *)0x0)" ( (binary_expression "local_20[0] != (char *)0x0" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        free(local_20[0]);\n      }" { (expression_statement "free(local_20[0]);" (call_expression "free(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) ))) ;) })) (expression_statement "FUN_000339f0();" (call_expression "FUN_000339f0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = strchr(__s,10);" (assignment_expression "pcVar4 = strchr(__s,10)" identifier = (call_expression "strchr(__s,10)" identifier (argument_list "(__s,10)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }" { (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" identifier (argument_list "(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (goto_statement "goto LAB_0005a0a0;" goto statement_identifier ;) })) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" identifier (argument_list "(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "__s = pcVar4 + 1;" (assignment_expression "__s = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid gldelf64lppc_finish(void)\n\n{\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  char *pcVar5;\n  char *msg;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  msg = (char *)0x0;\n  if (stub_file == (lang_input_statement_type *)0x0) {\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n  }\n  else {\n    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {\n      entry_section = ".opd";\n    }\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n    if ((link_info._0_1_ & 3) != 2) {\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  pcVar5 = msg;\n  do {\n    if (pcVar5 == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (msg != (char *)0x0) {\n        free(msg);\n      }\n      finish_default();\n      return;\n    }\n    pcVar4 = strchr(pcVar5,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n    pcVar5 = pcVar4 + 1;\n  } while( true );\n}\n\n" comment comment (function_definition "void gldelf64lppc_finish(void)\n\n{\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  char *pcVar5;\n  char *msg;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  msg = (char *)0x0;\n  if (stub_file == (lang_input_statement_type *)0x0) {\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n  }\n  else {\n    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {\n      entry_section = ".opd";\n    }\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n    if ((link_info._0_1_ & 3) != 2) {\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  pcVar5 = msg;\n  do {\n    if (pcVar5 == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (msg != (char *)0x0) {\n        free(msg);\n      }\n      finish_default();\n      return;\n    }\n    pcVar4 = strchr(pcVar5,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n    pcVar5 = pcVar4 + 1;\n  } while( true );\n}" primitive_type (function_declarator "gldelf64lppc_finish(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  char *pcVar5;\n  char *msg;\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  msg = (char *)0x0;\n  if (stub_file == (lang_input_statement_type *)0x0) {\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n  }\n  else {\n    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {\n      entry_section = ".opd";\n    }\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n    if ((link_info._0_1_ & 3) != 2) {\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  pcVar5 = msg;\n  do {\n    if (pcVar5 == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (msg != (char *)0x0) {\n        free(msg);\n      }\n      finish_default();\n      return;\n    }\n    pcVar4 = strchr(pcVar5,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n    pcVar5 = pcVar4 + 1;\n  } while( true );\n}" { (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char **ppcVar2;" primitive_type (pointer_declarator "**ppcVar2" * (pointer_declarator "*ppcVar2" * identifier)) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "char *pcVar5;" primitive_type (pointer_declarator "*pcVar5" * identifier) ;) (declaration "char *msg;" primitive_type (pointer_declarator "*msg" * identifier) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x59fa9;" (assignment_expression "uStack_14 = 0x59fa9" identifier = number_literal) ;) (expression_statement "msg = (char *)0x0;" (assignment_expression "msg = (char *)0x0" identifier = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (stub_file == (lang_input_statement_type *)0x0) {\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n  }\n  else {\n    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {\n      entry_section = ".opd";\n    }\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n    if ((link_info._0_1_ & 3) != 2) {\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }\n  }" if (parenthesized_expression "(stub_file == (lang_input_statement_type *)0x0)" ( (binary_expression "stub_file == (lang_input_statement_type *)0x0" identifier == (cast_expression "(lang_input_statement_type *)0x0" ( (type_descriptor "lang_input_statement_type *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n  }" { (if_statement "if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }" if (parenthesized_expression "(params.emit_stub_syms < 0)" ( (binary_expression "params.emit_stub_syms < 0" (field_expression "params.emit_stub_syms" identifier . field_identifier) < number_literal) )) (compound_statement "{\n      params.emit_stub_syms = 1;\n    }" { (expression_statement "params.emit_stub_syms = 1;" (assignment_expression "params.emit_stub_syms = 1" (field_expression "params.emit_stub_syms" identifier . field_identifier) = number_literal) ;) })) }) (else_clause "else {\n    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {\n      entry_section = ".opd";\n    }\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n    if ((link_info._0_1_ & 3) != 2) {\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }\n  }" else (compound_statement "{\n    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {\n      entry_section = ".opd";\n    }\n    if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }\n    if ((link_info._0_1_ & 3) != 2) {\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }\n  }" { (if_statement "if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {\n      entry_section = ".opd";\n    }" if (parenthesized_expression "(((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1)" ( (binary_expression "((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1" (parenthesized_expression "((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3)" ( (binary_expression "(((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3" (field_expression "(((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags" (subscript_expression "(((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0]" (field_expression "(((link_info.output_bfd)->tdata).elf_obj_data)->elf_header" (parenthesized_expression "(((link_info.output_bfd)->tdata).elf_obj_data)" ( (field_expression "((link_info.output_bfd)->tdata).elf_obj_data" (parenthesized_expression "((link_info.output_bfd)->tdata)" ( (field_expression "(link_info.output_bfd)->tdata" (parenthesized_expression "(link_info.output_bfd)" ( (field_expression "link_info.output_bfd" identifier . field_identifier) )) -> field_identifier) )) . field_identifier) )) -> field_identifier) [ number_literal ]) . field_identifier) & number_literal) )) == number_literal) )) (compound_statement "{\n      entry_section = ".opd";\n    }" { (expression_statement "entry_section = ".opd";" (assignment_expression "entry_section = ".opd"" identifier = (string_literal "".opd"" " string_content ")) ;) })) (if_statement "if (params.emit_stub_syms < 0) {\n      params.emit_stub_syms = 1;\n    }" if (parenthesized_expression "(params.emit_stub_syms < 0)" ( (binary_expression "params.emit_stub_syms < 0" (field_expression "params.emit_stub_syms" identifier . field_identifier) < number_literal) )) (compound_statement "{\n      params.emit_stub_syms = 1;\n    }" { (expression_statement "params.emit_stub_syms = 1;" (assignment_expression "params.emit_stub_syms = 1" (field_expression "params.emit_stub_syms" identifier . field_identifier) = number_literal) ;) })) (if_statement "if ((link_info._0_1_ & 3) != 2) {\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }" if (parenthesized_expression "((link_info._0_1_ & 3) != 2)" ( (binary_expression "(link_info._0_1_ & 3) != 2" (parenthesized_expression "(link_info._0_1_ & 3)" ( (binary_expression "link_info._0_1_ & 3" (field_expression "link_info._0_1_" identifier . field_identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      ppcVar2 = &msg;\n      if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);\n      if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }\n    }" { (expression_statement "ppcVar2 = &msg;" (assignment_expression "ppcVar2 = &msg" identifier = (pointer_expression "&msg" & identifier)) ;) (if_statement "if (config.stats == 0) {\n        ppcVar2 = (char **)0x0;\n      }" if (parenthesized_expression "(config.stats == 0)" ( (binary_expression "config.stats == 0" (field_expression "config.stats" identifier . field_identifier) == number_literal) )) (compound_statement "{\n        ppcVar2 = (char **)0x0;\n      }" { (expression_statement "ppcVar2 = (char **)0x0;" (assignment_expression "ppcVar2 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2);" (assignment_expression "iVar3 = ppc64_elf_build_stubs(&link_info,ppcVar2)" identifier = (call_expression "ppc64_elf_build_stubs(&link_info,ppcVar2)" identifier (argument_list "(&link_info,ppcVar2)" ( (pointer_expression "&link_info" & identifier) , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        einfo(pcVar5);\n      }" { (expression_statement "pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5);" (assignment_expression "pcVar5 = (char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5)" identifier = (cast_expression "(char *)dcgettext(0,"%X%P: can not build stubs: %E\n",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"%X%P: can not build stubs: %E\n",5)" identifier (argument_list "(0,"%X%P: can not build stubs: %E\n",5)" ( number_literal , (string_literal ""%X%P: can not build stubs: %E\n"" " string_content escape_sequence ") , number_literal ))))) ;) (expression_statement "einfo(pcVar5);" (call_expression "einfo(pcVar5)" identifier (argument_list "(pcVar5)" ( identifier ))) ;) })) })) }))) (expression_statement "fflush(*(FILE **)PTR_stdout_001befcc);" (call_expression "fflush(*(FILE **)PTR_stdout_001befcc)" identifier (argument_list "(*(FILE **)PTR_stdout_001befcc)" ( (pointer_expression "*(FILE **)PTR_stdout_001befcc" * (cast_expression "(FILE **)PTR_stdout_001befcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "puVar1 = PTR_stderr_001bef98;" (assignment_expression "puVar1 = PTR_stderr_001bef98" identifier = identifier) ;) (expression_statement "pcVar5 = msg;" (assignment_expression "pcVar5 = msg" identifier = identifier) ;) (do_statement "do {\n    if (pcVar5 == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (msg != (char *)0x0) {\n        free(msg);\n      }\n      finish_default();\n      return;\n    }\n    pcVar4 = strchr(pcVar5,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n    pcVar5 = pcVar4 + 1;\n  } while( true );" do (compound_statement "{\n    if (pcVar5 == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (msg != (char *)0x0) {\n        free(msg);\n      }\n      finish_default();\n      return;\n    }\n    pcVar4 = strchr(pcVar5,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n    pcVar5 = pcVar4 + 1;\n  }" { (if_statement "if (pcVar5 == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (msg != (char *)0x0) {\n        free(msg);\n      }\n      finish_default();\n      return;\n    }" if (parenthesized_expression "(pcVar5 == (char *)0x0)" ( (binary_expression "pcVar5 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (msg != (char *)0x0) {\n        free(msg);\n      }\n      finish_default();\n      return;\n    }" { (labeled_statement "LAB_0005a0a0:\n      fflush(*(FILE **)puVar1);" statement_identifier : (expression_statement "fflush(*(FILE **)puVar1);" (call_expression "fflush(*(FILE **)puVar1)" identifier (argument_list "(*(FILE **)puVar1)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;)) (if_statement "if (msg != (char *)0x0) {\n        free(msg);\n      }" if (parenthesized_expression "(msg != (char *)0x0)" ( (binary_expression "msg != (char *)0x0" identifier != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        free(msg);\n      }" { (expression_statement "free(msg);" (call_expression "free(msg)" identifier (argument_list "(msg)" ( identifier ))) ;) })) (expression_statement "finish_default();" (call_expression "finish_default()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = strchr(pcVar5,10);" (assignment_expression "pcVar4 = strchr(pcVar5,10)" identifier = (call_expression "strchr(pcVar5,10)" identifier (argument_list "(pcVar5,10)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n      goto LAB_0005a0a0;\n    }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);\n      goto LAB_0005a0a0;\n    }" { (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5)" identifier (argument_list "(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (goto_statement "goto LAB_0005a0a0;" goto statement_identifier ;) })) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5)" identifier (argument_list "(*(FILE **)puVar1,"%s: %s\n",program_name,pcVar5)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "pcVar5 = pcVar4 + 1;" (assignment_expression "pcVar5 = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit "void FUN_00059fa0(void)\n\n{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}\n\n" (function_definition "void FUN_00059fa0(void)\n\n{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}" primitive_type (function_declarator "FUN_00059fa0(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}" { (declaration "char *__s;" primitive_type (pointer_declarator "*__s" * identifier) ;) (declaration "undefined *puVar1;" type_identifier (pointer_declarator "*puVar1" * identifier) ;) (declaration "char **ppcVar2;" primitive_type (pointer_declarator "**ppcVar2" * (pointer_declarator "*ppcVar2" * identifier)) ;) (declaration "int iVar3;" primitive_type identifier ;) (declaration "char *pcVar4;" primitive_type (pointer_declarator "*pcVar4" * identifier) ;) (declaration "undefined4 uVar5;" type_identifier identifier ;) (declaration "char *local_20 [3];" primitive_type (pointer_declarator "*local_20 [3]" * (array_declarator "local_20 [3]" identifier [ number_literal ])) ;) (declaration "undefined4 uStack_14;" type_identifier identifier ;) (expression_statement "uStack_14 = 0x59fa9;" (assignment_expression "uStack_14 = 0x59fa9" identifier = number_literal) ;) (expression_statement "local_20[0] = (char *)0x0;" (assignment_expression "local_20[0] = (char *)0x0" (subscript_expression "local_20[0]" identifier [ number_literal ]) = (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (if_statement "if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" if (parenthesized_expression "(DAT_001c0ce4 == 0)" ( (binary_expression "DAT_001c0ce4 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }" { (if_statement "if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }" if (parenthesized_expression "(DAT_001c0170 < 0)" ( (binary_expression "DAT_001c0170 < 0" identifier < number_literal) )) (compound_statement "{\n      DAT_001c0170 = 1;\n    }" { (expression_statement "DAT_001c0170 = 1;" (assignment_expression "DAT_001c0170 = 1" identifier = number_literal) ;) })) }) (else_clause "else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" else (compound_statement "{\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" { (if_statement "if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }" if (parenthesized_expression "((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1)" ( (binary_expression "(*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1" (parenthesized_expression "(*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3)" ( (binary_expression "*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3" (pointer_expression "*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" * (cast_expression "(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" ( (binary_expression "*(int *)(DAT_001c0e54 + 0xa0) + 0x2c" (pointer_expression "*(int *)(DAT_001c0e54 + 0xa0)" * (cast_expression "(int *)(DAT_001c0e54 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_001c0e54 + 0xa0)" ( (binary_expression "DAT_001c0e54 + 0xa0" identifier + number_literal) )))) + number_literal) )))) & number_literal) )) == number_literal) )) (compound_statement "{\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }" { (expression_statement "PTR_s__text_001bf394 = &DAT_0016e815;" (assignment_expression "PTR_s__text_001bf394 = &DAT_0016e815" identifier = (pointer_expression "&DAT_0016e815" & identifier)) ;) })) (if_statement "if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }" if (parenthesized_expression "(DAT_001c0170 < 0)" ( (binary_expression "DAT_001c0170 < 0" identifier < number_literal) )) (compound_statement "{\n      DAT_001c0170 = 1;\n    }" { (expression_statement "DAT_001c0170 = 1;" (assignment_expression "DAT_001c0170 = 1" identifier = number_literal) ;) })) (if_statement "if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }" if (parenthesized_expression "(((byte)DAT_001c0e20 & 3) != 2)" ( (binary_expression "((byte)DAT_001c0e20 & 3) != 2" (parenthesized_expression "((byte)DAT_001c0e20 & 3)" ( (binary_expression "(byte)DAT_001c0e20 & 3" (cast_expression "(byte)DAT_001c0e20" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) )) != number_literal) )) (compound_statement "{\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }" { (expression_statement "ppcVar2 = local_20;" (assignment_expression "ppcVar2 = local_20" identifier = identifier) ;) (if_statement "if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }" if (parenthesized_expression "(DAT_001c0f54 == 0)" ( (binary_expression "DAT_001c0f54 == 0" identifier == number_literal) )) (compound_statement "{\n        ppcVar2 = (char **)0x0;\n      }" { (expression_statement "ppcVar2 = (char **)0x0;" (assignment_expression "ppcVar2 = (char **)0x0" identifier = (cast_expression "(char **)0x0" ( (type_descriptor "char **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal)) ;) })) (expression_statement "iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);" (assignment_expression "iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2)" identifier = (call_expression "ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2)" identifier (argument_list "(&DAT_001c0e20,ppcVar2)" ( (pointer_expression "&DAT_001c0e20" & identifier) , identifier )))) ;) (if_statement "if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }" if (parenthesized_expression "(iVar3 == 0)" ( (binary_expression "iVar3 == 0" identifier == number_literal) )) (compound_statement "{\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }" { (expression_statement "uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);" (assignment_expression "uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5)" identifier = (call_expression "dcgettext(0,"%X%P: can not build stubs: %E\n",5)" identifier (argument_list "(0,"%X%P: can not build stubs: %E\n",5)" ( number_literal , (string_literal ""%X%P: can not build stubs: %E\n"" " string_content escape_sequence ") , number_literal )))) ;) (expression_statement "FUN_00034d60(uVar5);" (call_expression "FUN_00034d60(uVar5)" identifier (argument_list "(uVar5)" ( identifier ))) ;) })) })) }))) (expression_statement "fflush(*(FILE **)PTR_stdout_001befcc);" (call_expression "fflush(*(FILE **)PTR_stdout_001befcc)" identifier (argument_list "(*(FILE **)PTR_stdout_001befcc)" ( (pointer_expression "*(FILE **)PTR_stdout_001befcc" * (cast_expression "(FILE **)PTR_stdout_001befcc" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;) (expression_statement "puVar1 = PTR_stderr_001bef98;" (assignment_expression "puVar1 = PTR_stderr_001bef98" identifier = identifier) ;) (expression_statement "__s = local_20[0];" (assignment_expression "__s = local_20[0]" identifier = (subscript_expression "local_20[0]" identifier [ number_literal ])) ;) (do_statement "do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );" do (compound_statement "{\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  }" { (if_statement "if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }" if (parenthesized_expression "(__s == (char *)0x0)" ( (binary_expression "__s == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }" { (labeled_statement "LAB_0005a0a0:\n      fflush(*(FILE **)puVar1);" statement_identifier : (expression_statement "fflush(*(FILE **)puVar1);" (call_expression "fflush(*(FILE **)puVar1)" identifier (argument_list "(*(FILE **)puVar1)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) ))) ;)) (if_statement "if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }" if (parenthesized_expression "(local_20[0] != (char *)0x0)" ( (binary_expression "local_20[0] != (char *)0x0" (subscript_expression "local_20[0]" identifier [ number_literal ]) != (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        free(local_20[0]);\n      }" { (expression_statement "free(local_20[0]);" (call_expression "free(local_20[0])" identifier (argument_list "(local_20[0])" ( (subscript_expression "local_20[0]" identifier [ number_literal ]) ))) ;) })) (expression_statement "FUN_000339f0();" (call_expression "FUN_000339f0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (expression_statement "pcVar4 = strchr(__s,10);" (assignment_expression "pcVar4 = strchr(__s,10)" identifier = (call_expression "strchr(__s,10)" identifier (argument_list "(__s,10)" ( identifier , number_literal )))) ;) (if_statement "if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }" if (parenthesized_expression "(pcVar4 == (char *)0x0)" ( (binary_expression "pcVar4 == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }" { (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" identifier (argument_list "(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (goto_statement "goto LAB_0005a0a0;" goto statement_identifier ;) })) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" * identifier) = (char_literal "'\0'" ' escape_sequence ')) ;) (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" identifier (argument_list "(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" ( (pointer_expression "*(FILE **)puVar1" * (cast_expression "(FILE **)puVar1" ( (type_descriptor "FILE **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier)) , (string_literal ""%s: %s\n"" " string_content escape_sequence ") , identifier , identifier ))) ;) (expression_statement "__s = pcVar4 + 1;" (assignment_expression "__s = pcVar4 + 1" identifier = (binary_expression "pcVar4 + 1" identifier + number_literal)) ;) }) while (parenthesized_expression "( true )" ( true )) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE (pointer_declarator * (pointer_declarator * IDENT)) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * (array_declarator IDENT [ LIT ])) ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression (subscript_expression IDENT [ LIT ]) = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) }) (else_clause else (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 (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) & LIT) )) == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression & IDENT)) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) & LIT) )) != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) LIT)) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (pointer_expression & IDENT) , IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content escape_sequence ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) })) })) }))) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (subscript_expression IDENT [ LIT ])) ;) (do_statement do (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) ))) ;)) (if_statement if (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) != (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (subscript_expression IDENT [ LIT ]) ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (goto_statement goto statement_identifier ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (expression_statement (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) IDENT)) , (string_literal " string_content escape_sequence ") , IDENT , IDENT ))) ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) }) while (parenthesized_expression ( BOOL )) ;) })))
(function_definition "void FUN_00059fa0(void)\n\n{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}" (primitive_type "void") (function_declarator "FUN_00059fa0(void)" (identifier "FUN_00059fa0") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  char *__s;\n  undefined *puVar1;\n  char **ppcVar2;\n  int iVar3;\n  char *pcVar4;\n  undefined4 uVar5;\n  char *local_20 [3];\n  undefined4 uStack_14;\n  \n  uStack_14 = 0x59fa9;\n  local_20[0] = (char *)0x0;\n  if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }\n  fflush(*(FILE **)PTR_stdout_001befcc);\n  puVar1 = PTR_stderr_001bef98;\n  __s = local_20[0];\n  do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );\n}" ({ "{") (declaration "char *__s;" (primitive_type "char") (pointer_declarator "*__s" (* "*") (identifier "__s")) (; ";")) (declaration "undefined *puVar1;" (type_identifier "undefined") (pointer_declarator "*puVar1" (* "*") (identifier "puVar1")) (; ";")) (declaration "char **ppcVar2;" (primitive_type "char") (pointer_declarator "**ppcVar2" (* "*") (pointer_declarator "*ppcVar2" (* "*") (identifier "ppcVar2"))) (; ";")) (declaration "int iVar3;" (primitive_type "int") (identifier "iVar3") (; ";")) (declaration "char *pcVar4;" (primitive_type "char") (pointer_declarator "*pcVar4" (* "*") (identifier "pcVar4")) (; ";")) (declaration "undefined4 uVar5;" (type_identifier "undefined4") (identifier "uVar5") (; ";")) (declaration "char *local_20 [3];" (primitive_type "char") (pointer_declarator "*local_20 [3]" (* "*") (array_declarator "local_20 [3]" (identifier "local_20") ([ "[") (number_literal "3") (] "]"))) (; ";")) (declaration "undefined4 uStack_14;" (type_identifier "undefined4") (identifier "uStack_14") (; ";")) (expression_statement "uStack_14 = 0x59fa9;" (assignment_expression "uStack_14 = 0x59fa9" (identifier "uStack_14") (= "=") (number_literal "0x59fa9")) (; ";")) (expression_statement "local_20[0] = (char *)0x0;" (assignment_expression "local_20[0] = (char *)0x0" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (= "=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (; ";")) (if_statement "if (DAT_001c0ce4 == 0) {\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }\n  else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" (if "if") (parenthesized_expression "(DAT_001c0ce4 == 0)" (( "(") (binary_expression "DAT_001c0ce4 == 0" (identifier "DAT_001c0ce4") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n  }" ({ "{") (if_statement "if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }" (if "if") (parenthesized_expression "(DAT_001c0170 < 0)" (( "(") (binary_expression "DAT_001c0170 < 0" (identifier "DAT_001c0170") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_001c0170 = 1;\n    }" ({ "{") (expression_statement "DAT_001c0170 = 1;" (assignment_expression "DAT_001c0170 = 1" (identifier "DAT_001c0170") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }\n    if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }\n    if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }\n  }" ({ "{") (if_statement "if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }" (if "if") (parenthesized_expression "((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1)" (( "(") (binary_expression "(*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1" (parenthesized_expression "(*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3)" (( "(") (binary_expression "*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3" (pointer_expression "*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" (* "*") (cast_expression "(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c)" (( "(") (binary_expression "*(int *)(DAT_001c0e54 + 0xa0) + 0x2c" (pointer_expression "*(int *)(DAT_001c0e54 + 0xa0)" (* "*") (cast_expression "(int *)(DAT_001c0e54 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_001c0e54 + 0xa0)" (( "(") (binary_expression "DAT_001c0e54 + 0xa0" (identifier "DAT_001c0e54") (+ "+") (number_literal "0xa0")) () ")")))) (+ "+") (number_literal "0x2c")) () ")")))) (& "&") (number_literal "3")) () ")")) (== "==") (number_literal "1")) () ")")) (compound_statement "{\n      PTR_s__text_001bf394 = &DAT_0016e815;\n    }" ({ "{") (expression_statement "PTR_s__text_001bf394 = &DAT_0016e815;" (assignment_expression "PTR_s__text_001bf394 = &DAT_0016e815" (identifier "PTR_s__text_001bf394") (= "=") (pointer_expression "&DAT_0016e815" (& "&") (identifier "DAT_0016e815"))) (; ";")) (} "}"))) (if_statement "if (DAT_001c0170 < 0) {\n      DAT_001c0170 = 1;\n    }" (if "if") (parenthesized_expression "(DAT_001c0170 < 0)" (( "(") (binary_expression "DAT_001c0170 < 0" (identifier "DAT_001c0170") (< "<") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_001c0170 = 1;\n    }" ({ "{") (expression_statement "DAT_001c0170 = 1;" (assignment_expression "DAT_001c0170 = 1" (identifier "DAT_001c0170") (= "=") (number_literal "1")) (; ";")) (} "}"))) (if_statement "if (((byte)DAT_001c0e20 & 3) != 2) {\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }" (if "if") (parenthesized_expression "(((byte)DAT_001c0e20 & 3) != 2)" (( "(") (binary_expression "((byte)DAT_001c0e20 & 3) != 2" (parenthesized_expression "((byte)DAT_001c0e20 & 3)" (( "(") (binary_expression "(byte)DAT_001c0e20 & 3" (cast_expression "(byte)DAT_001c0e20" (( "(") (type_descriptor "byte" (type_identifier "byte")) () ")") (identifier "DAT_001c0e20")) (& "&") (number_literal "3")) () ")")) (!= "!=") (number_literal "2")) () ")")) (compound_statement "{\n      ppcVar2 = local_20;\n      if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }\n      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);\n      if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }\n    }" ({ "{") (expression_statement "ppcVar2 = local_20;" (assignment_expression "ppcVar2 = local_20" (identifier "ppcVar2") (= "=") (identifier "local_20")) (; ";")) (if_statement "if (DAT_001c0f54 == 0) {\n        ppcVar2 = (char **)0x0;\n      }" (if "if") (parenthesized_expression "(DAT_001c0f54 == 0)" (( "(") (binary_expression "DAT_001c0f54 == 0" (identifier "DAT_001c0f54") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        ppcVar2 = (char **)0x0;\n      }" ({ "{") (expression_statement "ppcVar2 = (char **)0x0;" (assignment_expression "ppcVar2 = (char **)0x0" (identifier "ppcVar2") (= "=") (cast_expression "(char **)0x0" (( "(") (type_descriptor "char **" (primitive_type "char") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (number_literal "0x0"))) (; ";")) (} "}"))) (expression_statement "iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);" (assignment_expression "iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2)" (identifier "iVar3") (= "=") (call_expression "ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2)" (identifier "ppc64_elf_build_stubs") (argument_list "(&DAT_001c0e20,ppcVar2)" (( "(") (pointer_expression "&DAT_001c0e20" (& "&") (identifier "DAT_001c0e20")) (, ",") (identifier "ppcVar2") () ")")))) (; ";")) (if_statement "if (iVar3 == 0) {\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }" (if "if") (parenthesized_expression "(iVar3 == 0)" (( "(") (binary_expression "iVar3 == 0" (identifier "iVar3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);\n        FUN_00034d60(uVar5);\n      }" ({ "{") (expression_statement "uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);" (assignment_expression "uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5)" (identifier "uVar5") (= "=") (call_expression "dcgettext(0,"%X%P: can not build stubs: %E\n",5)" (identifier "dcgettext") (argument_list "(0,"%X%P: can not build stubs: %E\n",5)" (( "(") (number_literal "0") (, ",") (string_literal ""%X%P: can not build stubs: %E\n"" (" """) (string_content "%X%P: can not build stubs: %E") (escape_sequence "\n") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00034d60(uVar5);" (call_expression "FUN_00034d60(uVar5)" (identifier "FUN_00034d60") (argument_list "(uVar5)" (( "(") (identifier "uVar5") () ")"))) (; ";")) (} "}"))) (} "}"))) (} "}")))) (expression_statement "fflush(*(FILE **)PTR_stdout_001befcc);" (call_expression "fflush(*(FILE **)PTR_stdout_001befcc)" (identifier "fflush") (argument_list "(*(FILE **)PTR_stdout_001befcc)" (( "(") (pointer_expression "*(FILE **)PTR_stdout_001befcc" (* "*") (cast_expression "(FILE **)PTR_stdout_001befcc" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "PTR_stdout_001befcc"))) () ")"))) (; ";")) (expression_statement "puVar1 = PTR_stderr_001bef98;" (assignment_expression "puVar1 = PTR_stderr_001bef98" (identifier "puVar1") (= "=") (identifier "PTR_stderr_001bef98")) (; ";")) (expression_statement "__s = local_20[0];" (assignment_expression "__s = local_20[0]" (identifier "__s") (= "=") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]"))) (; ";")) (do_statement "do {\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  } while( true );" (do "do") (compound_statement "{\n    if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }\n    pcVar4 = strchr(__s,10);\n    if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }\n    *pcVar4 = '\0';\n    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n    __s = pcVar4 + 1;\n  }" ({ "{") (if_statement "if (__s == (char *)0x0) {\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }" (if "if") (parenthesized_expression "(__s == (char *)0x0)" (( "(") (binary_expression "__s == (char *)0x0" (identifier "__s") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\nLAB_0005a0a0:\n      fflush(*(FILE **)puVar1);\n      if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }\n      FUN_000339f0();\n      return;\n    }" ({ "{") (labeled_statement "LAB_0005a0a0:\n      fflush(*(FILE **)puVar1);" (statement_identifier "LAB_0005a0a0") (: ":") (expression_statement "fflush(*(FILE **)puVar1);" (call_expression "fflush(*(FILE **)puVar1)" (identifier "fflush") (argument_list "(*(FILE **)puVar1)" (( "(") (pointer_expression "*(FILE **)puVar1" (* "*") (cast_expression "(FILE **)puVar1" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1"))) () ")"))) (; ";"))) (if_statement "if (local_20[0] != (char *)0x0) {\n        free(local_20[0]);\n      }" (if "if") (parenthesized_expression "(local_20[0] != (char *)0x0)" (( "(") (binary_expression "local_20[0] != (char *)0x0" (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) (!= "!=") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        free(local_20[0]);\n      }" ({ "{") (expression_statement "free(local_20[0]);" (call_expression "free(local_20[0])" (identifier "free") (argument_list "(local_20[0])" (( "(") (subscript_expression "local_20[0]" (identifier "local_20") ([ "[") (number_literal "0") (] "]")) () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000339f0();" (call_expression "FUN_000339f0()" (identifier "FUN_000339f0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "pcVar4 = strchr(__s,10);" (assignment_expression "pcVar4 = strchr(__s,10)" (identifier "pcVar4") (= "=") (call_expression "strchr(__s,10)" (identifier "strchr") (argument_list "(__s,10)" (( "(") (identifier "__s") (, ",") (number_literal "10") () ")")))) (; ";")) (if_statement "if (pcVar4 == (char *)0x0) {\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }" (if "if") (parenthesized_expression "(pcVar4 == (char *)0x0)" (( "(") (binary_expression "pcVar4 == (char *)0x0" (identifier "pcVar4") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);\n      goto LAB_0005a0a0;\n    }" ({ "{") (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" (identifier "fprintf") (argument_list "(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" (( "(") (pointer_expression "*(FILE **)puVar1" (* "*") (cast_expression "(FILE **)puVar1" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1"))) (, ",") (string_literal ""%s: %s\n"" (" """) (string_content "%s: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "DAT_001c0f98") (, ",") (identifier "__s") () ")"))) (; ";")) (goto_statement "goto LAB_0005a0a0;" (goto "goto") (statement_identifier "LAB_0005a0a0") (; ";")) (} "}"))) (expression_statement "*pcVar4 = '\0';" (assignment_expression "*pcVar4 = '\0'" (pointer_expression "*pcVar4" (* "*") (identifier "pcVar4")) (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (expression_statement "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);" (call_expression "fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" (identifier "fprintf") (argument_list "(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s)" (( "(") (pointer_expression "*(FILE **)puVar1" (* "*") (cast_expression "(FILE **)puVar1" (( "(") (type_descriptor "FILE **" (type_identifier "FILE") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (identifier "puVar1"))) (, ",") (string_literal ""%s: %s\n"" (" """) (string_content "%s: %s") (escape_sequence "\n") (" """)) (, ",") (identifier "DAT_001c0f98") (, ",") (identifier "__s") () ")"))) (; ";")) (expression_statement "__s = pcVar4 + 1;" (assignment_expression "__s = pcVar4 + 1" (identifier "__s") (= "=") (binary_expression "pcVar4 + 1" (identifier "pcVar4") (+ "+") (number_literal "1"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "( true )" (( "(") (true "true") () ")")) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 *puVar1;
  char **ppcVar2;
  int var_3;
  char *var_12;
  char *var_7;
  char *var_8;
  type_2 uStack_14;
  
  uStack_14 = 0x59fa9;
  var_8 = (char *)0x0;
  if (var_1 == (type_3 *)0x0) {
    if (params.emit_stub_syms < 0) {
      params.emit_stub_syms = 1;
    }
  }
  else {
    if (((((link_info.output_bfd)->tdata).elf_obj_data)->elf_header[0].e_flags & 3) == 1) {
      entry_section = ".opd";
    }
    if (params.emit_stub_syms < 0) {
      params.emit_stub_syms = 1;
    }
    if ((link_info._0_1_ & 3) != 2) {
      ppcVar2 = &var_8;
      if (config.stats == 0) {
        ppcVar2 = (char **)0x0;
      }
      var_3 = var_2(&link_info,ppcVar2);
      if (var_3 == 0) {
        var_7 = (char *)var_4(0,"%X%P: can not build stubs: %E\n",5);
        var_5(var_7);
      }
    }
  }
  var_6(*(type_4 **)PTR_stdout_001befcc);
  puVar1 = PTR_stderr_001bef98;
  var_7 = var_8;
  do {
    if (var_7 == (char *)0x0) {
LAB_0005a0a0:
      var_6(*(type_4 **)puVar1);
      if (var_8 != (char *)0x0) {
        var_9(var_8);
      }
      var_10();
      return;
    }
    var_12 = var_11(var_7,10);
    if (var_12 == (char *)0x0) {
      var_13(*(type_4 **)puVar1,"%s: %s\n",program_name,var_7);
      goto LAB_0005a0a0;
    }
    *var_12 = '\0';
    var_13(*(type_4 **)puVar1,"%s: %s\n",program_name,var_7);
    var_7 = var_12 + 1;
  } while( true );
}


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

/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */

void MASKED(void)

{
  char *__s;
  undefined *puVar1;
  char **ppcVar2;
  int iVar3;
  char *pcVar4;
  undefined4 uVar5;
  char *local_20 [3];
  undefined4 uStack_14;
  
  uStack_14 = 0x59fa9;
  local_20[0] = (char *)0x0;
  if (DAT_001c0ce4 == 0) {
    if (DAT_001c0170 < 0) {
      DAT_001c0170 = 1;
    }
  }
  else {
    if ((*(uint *)(*(int *)(DAT_001c0e54 + 0xa0) + 0x2c) & 3) == 1) {
      PTR_s__text_001bf394 = &DAT_0016e815;
    }
    if (DAT_001c0170 < 0) {
      DAT_001c0170 = 1;
    }
    if (((byte)DAT_001c0e20 & 3) != 2) {
      ppcVar2 = local_20;
      if (DAT_001c0f54 == 0) {
        ppcVar2 = (char **)0x0;
      }
      iVar3 = ppc64_elf_build_stubs(&DAT_001c0e20,ppcVar2);
      if (iVar3 == 0) {
        uVar5 = dcgettext(0,"%X%P: can not build stubs: %E\n",5);
        FUN_00034d60(uVar5);
      }
    }
  }
  fflush(*(FILE **)PTR_stdout_001befcc);
  puVar1 = PTR_stderr_001bef98;
  __s = local_20[0];
  do {
    if (__s == (char *)0x0) {
LAB_0005a0a0:
      fflush(*(FILE **)puVar1);
      if (local_20[0] != (char *)0x0) {
        free(local_20[0]);
      }
      FUN_000339f0();
      return;
    }
    pcVar4 = strchr(__s,10);
    if (pcVar4 == (char *)0x0) {
      fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);
      goto LAB_0005a0a0;
    }
    *pcVar4 = '\0';
    fprintf(*(FILE **)puVar1,"%s: %s\n",DAT_001c0f98,__s);
    __s = pcVar4 + 1;
  } while( true );
}

