
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void check_non_pic(Scan * this, Relobj * object, uint r_type) */

void __thiscall
anon_unknown.dwarf_6462d4::Target_powerpc<64,_false>::Scan::check_non_pic
          (Scan *this,Relobj *object,uint r_type)

{
}



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

void __regparm3 FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)

{
  int iVar1;
  undefined4 uVar2;
  
  if (param_3 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);
  }
  if (param_3 < 0x1b) {
    if (0x17 < param_3) {
      return;
    }
    if (param_3 == 0) goto LAB_000aff97;
    if (param_3 < 0xb) {
      return;
    }
    if (param_3 - 0x13 < 4) {
      return;
    }
  }
  else {
    if (param_3 == 0x4e) {
      return;
    }
    if (param_3 < 0x4f) {
      if (param_3 - 0x44 < 6) {
        return;
      }
    }
    else if (param_3 == 0xf8) {
      return;
    }
  }
  if (param_3 < 0x65) {
    if (0x5e < param_3) {
      return;
    }
    if (0x24 < param_3) {
      if (param_3 < 0x2d) {
        return;
      }
      if (param_3 - 0x38 < 2) {
        return;
      }
    }
  }
  else if (0x6d < param_3) {
    if (param_3 < 0x72) {
      return;
    }
    if (param_3 == 0xf7) {
      return;
    }
  }
LAB_000aff97:
  if (*param_1 != '\0') {
    return;
  }
  iVar1 = *(int *)(DAT_005ea7c8 + 8);
  if (iVar1 != 0) {
    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");
    }
    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");
    FUN_0028b750(param_2,uVar2);
    *param_1 = '\x01';
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);
}


PUSH ESI
PUSH EBX
CALL 0x00050b50
ADD EBX,0x53a0b9
SUB ESP,0x14
TEST ECX,ECX
JZ 0x000b005c
MOV ESI,EAX
CMP ECX,0x1a
JBE 0x000afff0
CMP ECX,0x4e
JZ 0x000affe8
JBE 0x000affe0
CMP ECX,0xf8
JZ 0x000affe8
CMP ECX,0x64
JA 0x000b000f
NOP
CMP ECX,0x5f
JNC 0x000affe8
CMP ECX,0x25
JC 0x000aff97
CMP ECX,0x2c
JBE 0x000affe8
SUB ECX,0x38
CMP ECX,0x1
JBE 0x000affe8
CMP byte ptr [ESI],0x0
JNZ 0x000affe8
LEA EAX,[EBX + 0x7c8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000b0075
CMP byte ptr [EAX + 0x1a25],0x0
JNZ 0x000b0030
CMP byte ptr [EAX + 0x2931],0x0
JNZ 0x000b0030
SUB ESP,0x4
LEA EAX,[EBX + 0xffe7b4b8]
PUSH EAX
LEA EAX,[EBX + 0xffe7c4c8]
PUSH 0x19e5
PUSH EAX
CALL 0x002446e0
LEA EAX,[ECX + -0x44]
CMP EAX,0x5
JA 0x000aff76
ADD ESP,0x14
POP EBX
POP ESI
RET
CMP ECX,0x18
JNC 0x000affe8
TEST ECX,ECX
JZ 0x000aff97
CMP ECX,0xa
JBE 0x000affe8
LEA EAX,[ECX + -0x13]
CMP EAX,0x3
JBE 0x000affe8
CMP ECX,0x64
JBE 0x000aff80
CMP ECX,0x6e
JC 0x000aff97
CMP ECX,0x71
JBE 0x000affe8
CMP ECX,0xf7
JNZ 0x000aff97
ADD ESP,0x14
POP EBX
POP ESI
RET
MOV dword ptr [ESP + 0xc],EDX
LEA EAX,[EBX + 0xffe69e6c]
SUB ESP,0xc
PUSH EAX
CALL 0x00039440
POP EDX
POP ECX
PUSH EAX
MOV EDX,dword ptr [ESP + 0x18]
PUSH EDX
CALL 0x0028b750
ADD ESP,0x10
MOV byte ptr [ESI],0x1
ADD ESP,0x14
POP EBX
POP ESI
RET
PUSH EAX
LEA EAX,[EBX + 0xffe7b4b8]
PUSH EAX
LEA EAX,[EBX + 0xffe7c4c8]
PUSH 0x1989
PUSH EAX
CALL 0x002446e0
LEA EAX,[EBX + 0xffe7ba28]
PUSH ESI
PUSH EAX
LEA EAX,[EBX + 0xffe5e26d]
PUSH 0x5c
PUSH EAX
CALL 0x002446e0
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid __regparm3 FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}\n\n" comment (function_definition "void __regparm3 FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)" identifier (parameter_list "(char *param_1,undefined4 param_2,uint param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (if_statement "if (param_3 == 0) {\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }" { comment (expression_statement "FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);" (call_expression "FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1)" identifier (argument_list "("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""check_non_pic"" " string_content ") , identifier ))) ;) })) (if_statement "if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" if (parenthesized_expression "(param_3 < 0x1b)" ( (binary_expression "param_3 < 0x1b" identifier < number_literal) )) (compound_statement "{\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }" { (if_statement "if (0x17 < param_3) {\n      return;\n    }" if (parenthesized_expression "(0x17 < param_3)" ( (binary_expression "0x17 < param_3" number_literal < identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0) goto LAB_000aff97;" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000aff97;" goto statement_identifier ;)) (if_statement "if (param_3 < 0xb) {\n      return;\n    }" if (parenthesized_expression "(param_3 < 0xb)" ( (binary_expression "param_3 < 0xb" identifier < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x13 < 4) {\n      return;\n    }" if (parenthesized_expression "(param_3 - 0x13 < 4)" ( (binary_expression "param_3 - 0x13 < 4" (binary_expression "param_3 - 0x13" identifier - number_literal) < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" else (compound_statement "{\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" { (if_statement "if (param_3 == 0x4e) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0x4e)" ( (binary_expression "param_3 == 0x4e" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }" if (parenthesized_expression "(param_3 < 0x4f)" ( (binary_expression "param_3 < 0x4f" identifier < number_literal) )) (compound_statement "{\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }" { (if_statement "if (param_3 - 0x44 < 6) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0x44 < 6)" ( (binary_expression "param_3 - 0x44 < 6" (binary_expression "param_3 - 0x44" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else if (param_3 == 0xf8) {\n      return;\n    }" else (if_statement "if (param_3 == 0xf8) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0xf8)" ( (binary_expression "param_3 == 0xf8" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })))) }))) (if_statement "if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" if (parenthesized_expression "(param_3 < 0x65)" ( (binary_expression "param_3 < 0x65" identifier < number_literal) )) (compound_statement "{\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }" { (if_statement "if (0x5e < param_3) {\n      return;\n    }" if (parenthesized_expression "(0x5e < param_3)" ( (binary_expression "0x5e < param_3" number_literal < identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }" if (parenthesized_expression "(0x24 < param_3)" ( (binary_expression "0x24 < param_3" number_literal < identifier) )) (compound_statement "{\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }" { (if_statement "if (param_3 < 0x2d) {\n        return;\n      }" if (parenthesized_expression "(param_3 < 0x2d)" ( (binary_expression "param_3 < 0x2d" identifier < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x38 < 2) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0x38 < 2)" ( (binary_expression "param_3 - 0x38 < 2" (binary_expression "param_3 - 0x38" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) }) (else_clause "else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" else (if_statement "if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" if (parenthesized_expression "(0x6d < param_3)" ( (binary_expression "0x6d < param_3" number_literal < identifier) )) (compound_statement "{\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" { (if_statement "if (param_3 < 0x72) {\n      return;\n    }" if (parenthesized_expression "(param_3 < 0x72)" ( (binary_expression "param_3 < 0x72" identifier < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0xf7) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0xf7)" ( (binary_expression "param_3 == 0xf7" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) })))) (labeled_statement "LAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }" statement_identifier : (if_statement "if (*param_1 != '\0') {\n    return;\n  }" if (parenthesized_expression "(*param_1 != '\0')" ( (binary_expression "*param_1 != '\0'" (pointer_expression "*param_1" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "iVar1 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar1 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }" { (if_statement "if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }" if (parenthesized_expression "((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar1 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar1 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar1 + 0x1a25)" * (cast_expression "(char *)(iVar1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1a25)" ( (binary_expression "iVar1 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar1 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar1 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar1 + 0x2931)" * (cast_expression "(char *)(iVar1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2931)" ( (binary_expression "iVar1 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }" { comment (expression_statement "FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic")" identifier (argument_list "("../../gold/powerpc.cc",0x19e5,"check_non_pic")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""check_non_pic"" " string_content ") ))) ;) })) (expression_statement "uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");" (assignment_expression "uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC")" identifier = (call_expression "gettext("requires unsupported dynamic reloc; recompile with -fPIC")" identifier (argument_list "("requires unsupported dynamic reloc; recompile with -fPIC")" ( (string_literal ""requires unsupported dynamic reloc; recompile with -fPIC"" " string_content ") )))) ;) (expression_statement "FUN_0028b750(param_2,uVar2);" (call_expression "FUN_0028b750(param_2,uVar2)" identifier (argument_list "(param_2,uVar2)" ( identifier , identifier ))) ;) (expression_statement "*param_1 = '\x01';" (assignment_expression "*param_1 = '\x01'" (pointer_expression "*param_1" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })) comment (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_1)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Enum "DT": Some values do not have unique names */\n/* DWARF original prototype: void check_non_pic(Scan * this, Relobj * object, uint r_type) */\n\nvoid __thiscall\nanon_unknown.dwarf_6462d4::Target_powerpc<64,_false>::Scan::check_non_pic\n          (Scan *this,Relobj *object,uint r_type)\n\n{\n}\n\n" comment comment comment (ERROR "void __thiscall\nanon_unknown.dwarf_6462d4::Target_powerpc<64,_false>::Scan::check_non_pic\n          (Scan *this,Relobj *object,uint r_type)" primitive_type (ms_call_modifier "__thiscall" __thiscall) (ERROR "anon_unknown.dwarf_6462d4::" identifier . identifier : :) identifier (ERROR "<64" < number_literal) , (ERROR "_false>::Scan::" identifier > : : identifier : :) (function_declarator "check_non_pic\n          (Scan *this,Relobj *object,uint r_type)" identifier (parameter_list "(Scan *this,Relobj *object,uint r_type)" ( (parameter_declaration "Scan *this" type_identifier (pointer_declarator "*this" * identifier)) , (parameter_declaration "Relobj *object" type_identifier (pointer_declarator "*object" * identifier)) , (parameter_declaration "uint r_type" type_identifier identifier) )))) (compound_statement "{\n}" { }))
(translation_unit "void __regparm3 FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}\n\n" (function_definition "void __regparm3 FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)" identifier (parameter_list "(char *param_1,undefined4 param_2,uint param_3)" ( (parameter_declaration "char *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "undefined4 param_2" type_identifier identifier) , (parameter_declaration "uint param_3" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (if_statement "if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }" { (expression_statement "FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);" (call_expression "FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1)" identifier (argument_list "("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1)" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""check_non_pic"" " string_content ") , identifier ))) ;) })) (if_statement "if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" if (parenthesized_expression "(param_3 < 0x1b)" ( (binary_expression "param_3 < 0x1b" identifier < number_literal) )) (compound_statement "{\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }" { (if_statement "if (0x17 < param_3) {\n      return;\n    }" if (parenthesized_expression "(0x17 < param_3)" ( (binary_expression "0x17 < param_3" number_literal < identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0) goto LAB_000aff97;" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (goto_statement "goto LAB_000aff97;" goto statement_identifier ;)) (if_statement "if (param_3 < 0xb) {\n      return;\n    }" if (parenthesized_expression "(param_3 < 0xb)" ( (binary_expression "param_3 < 0xb" identifier < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x13 < 4) {\n      return;\n    }" if (parenthesized_expression "(param_3 - 0x13 < 4)" ( (binary_expression "param_3 - 0x13 < 4" (binary_expression "param_3 - 0x13" identifier - number_literal) < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) }) (else_clause "else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" else (compound_statement "{\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" { (if_statement "if (param_3 == 0x4e) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0x4e)" ( (binary_expression "param_3 == 0x4e" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }" if (parenthesized_expression "(param_3 < 0x4f)" ( (binary_expression "param_3 < 0x4f" identifier < number_literal) )) (compound_statement "{\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }" { (if_statement "if (param_3 - 0x44 < 6) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0x44 < 6)" ( (binary_expression "param_3 - 0x44 < 6" (binary_expression "param_3 - 0x44" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) }) (else_clause "else if (param_3 == 0xf8) {\n      return;\n    }" else (if_statement "if (param_3 == 0xf8) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0xf8)" ( (binary_expression "param_3 == 0xf8" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })))) }))) (if_statement "if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" if (parenthesized_expression "(param_3 < 0x65)" ( (binary_expression "param_3 < 0x65" identifier < number_literal) )) (compound_statement "{\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }" { (if_statement "if (0x5e < param_3) {\n      return;\n    }" if (parenthesized_expression "(0x5e < param_3)" ( (binary_expression "0x5e < param_3" number_literal < identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }" if (parenthesized_expression "(0x24 < param_3)" ( (binary_expression "0x24 < param_3" number_literal < identifier) )) (compound_statement "{\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }" { (if_statement "if (param_3 < 0x2d) {\n        return;\n      }" if (parenthesized_expression "(param_3 < 0x2d)" ( (binary_expression "param_3 < 0x2d" identifier < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x38 < 2) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0x38 < 2)" ( (binary_expression "param_3 - 0x38 < 2" (binary_expression "param_3 - 0x38" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })) }) (else_clause "else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" else (if_statement "if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" if (parenthesized_expression "(0x6d < param_3)" ( (binary_expression "0x6d < param_3" number_literal < identifier) )) (compound_statement "{\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" { (if_statement "if (param_3 < 0x72) {\n      return;\n    }" if (parenthesized_expression "(param_3 < 0x72)" ( (binary_expression "param_3 < 0x72" identifier < number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0xf7) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0xf7)" ( (binary_expression "param_3 == 0xf7" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) })))) (labeled_statement "LAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }" statement_identifier : (if_statement "if (*param_1 != '\0') {\n    return;\n  }" if (parenthesized_expression "(*param_1 != '\0')" ( (binary_expression "*param_1 != '\0'" (pointer_expression "*param_1" * identifier) != (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) }))) (expression_statement "iVar1 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar1 = *(int *)(DAT_005ea7c8 + 8)" identifier = (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" * (cast_expression "(int *)(DAT_005ea7c8 + 8)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_005ea7c8 + 8)" ( (binary_expression "DAT_005ea7c8 + 8" identifier + number_literal) ))))) ;) (if_statement "if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }" { (if_statement "if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }" if (parenthesized_expression "((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0'))" ( (binary_expression "(*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar1 + 0x1a25) == '\0')" ( (binary_expression "*(char *)(iVar1 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar1 + 0x1a25)" * (cast_expression "(char *)(iVar1 + 0x1a25)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x1a25)" ( (binary_expression "iVar1 + 0x1a25" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "(*(char *)(iVar1 + 0x2931) == '\0')" ( (binary_expression "*(char *)(iVar1 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar1 + 0x2931)" * (cast_expression "(char *)(iVar1 + 0x2931)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x2931)" ( (binary_expression "iVar1 + 0x2931" identifier + number_literal) )))) == (char_literal "'\0'" ' escape_sequence ')) ))) )) (compound_statement "{\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }" { (expression_statement "FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic")" identifier (argument_list "("../../gold/powerpc.cc",0x19e5,"check_non_pic")" ( (string_literal ""../../gold/powerpc.cc"" " string_content ") , number_literal , (string_literal ""check_non_pic"" " string_content ") ))) ;) })) (expression_statement "uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");" (assignment_expression "uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC")" identifier = (call_expression "gettext("requires unsupported dynamic reloc; recompile with -fPIC")" identifier (argument_list "("requires unsupported dynamic reloc; recompile with -fPIC")" ( (string_literal ""requires unsupported dynamic reloc; recompile with -fPIC"" " string_content ") )))) ;) (expression_statement "FUN_0028b750(param_2,uVar2);" (call_expression "FUN_0028b750(param_2,uVar2)" identifier (argument_list "(param_2,uVar2)" ( identifier , identifier ))) ;) (expression_statement "*param_1 = '\x01';" (assignment_expression "*param_1 = '\x01'" (pointer_expression "*param_1" * identifier) = (char_literal "'\x01'" ' escape_sequence ')) ;) (return_statement "return;" return ;) })) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1)" identifier (argument_list "("../../gold/parameters.h",0x5c,"options",param_1)" ( (string_literal ""../../gold/parameters.h"" " string_content ") , number_literal , (string_literal ""options"" " string_content ") , identifier ))) ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (goto_statement goto statement_identifier ;)) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })))) }))) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (return_statement return ;) })) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) })))) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != (char_literal ' escape_sequence ')) )) (compound_statement { (return_statement return ;) }))) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (char_literal ' escape_sequence ')) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") ))) ;) })) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( (string_literal " string_content ") )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT ))) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (char_literal ' escape_sequence ')) ;) (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })))
(function_definition "void __regparm3 FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)\n\n{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_000aff40(char *param_1,undefined4 param_2,uint param_3)" (identifier "FUN_000aff40") (parameter_list "(char *param_1,undefined4 param_2,uint param_3)" (( "(") (parameter_declaration "char *param_1" (primitive_type "char") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (identifier "param_2")) (, ",") (parameter_declaration "uint param_3" (type_identifier "uint") (identifier "param_3")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 uVar2;\n  \n  if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }\n  if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }\n  if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }\nLAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }\n  iVar1 = *(int *)(DAT_005ea7c8 + 8);\n  if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }\n                    \n  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 uVar2;" (type_identifier "undefined4") (identifier "uVar2") (; ";")) (if_statement "if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);" (call_expression "FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1)" (identifier "FUN_002446e0") (argument_list "("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1)" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x1989") (, ",") (string_literal ""check_non_pic"" (" """) (string_content "check_non_pic") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}"))) (if_statement "if (param_3 < 0x1b) {\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }\n  else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(param_3 < 0x1b)" (( "(") (binary_expression "param_3 < 0x1b" (identifier "param_3") (< "<") (number_literal "0x1b")) () ")")) (compound_statement "{\n    if (0x17 < param_3) {\n      return;\n    }\n    if (param_3 == 0) goto LAB_000aff97;\n    if (param_3 < 0xb) {\n      return;\n    }\n    if (param_3 - 0x13 < 4) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (0x17 < param_3) {\n      return;\n    }" (if "if") (parenthesized_expression "(0x17 < param_3)" (( "(") (binary_expression "0x17 < param_3" (number_literal "0x17") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 == 0) goto LAB_000aff97;" (if "if") (parenthesized_expression "(param_3 == 0)" (( "(") (binary_expression "param_3 == 0" (identifier "param_3") (== "==") (number_literal "0")) () ")")) (goto_statement "goto LAB_000aff97;" (goto "goto") (statement_identifier "LAB_000aff97") (; ";"))) (if_statement "if (param_3 < 0xb) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 < 0xb)" (( "(") (binary_expression "param_3 < 0xb" (identifier "param_3") (< "<") (number_literal "0xb")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 - 0x13 < 4) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 - 0x13 < 4)" (( "(") (binary_expression "param_3 - 0x13 < 4" (binary_expression "param_3 - 0x13" (identifier "param_3") (- "-") (number_literal "0x13")) (< "<") (number_literal "4")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" (else "else") (compound_statement "{\n    if (param_3 == 0x4e) {\n      return;\n    }\n    if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (param_3 == 0x4e) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 == 0x4e)" (( "(") (binary_expression "param_3 == 0x4e" (identifier "param_3") (== "==") (number_literal "0x4e")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 < 0x4f) {\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }\n    else if (param_3 == 0xf8) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 < 0x4f)" (( "(") (binary_expression "param_3 < 0x4f" (identifier "param_3") (< "<") (number_literal "0x4f")) () ")")) (compound_statement "{\n      if (param_3 - 0x44 < 6) {\n        return;\n      }\n    }" ({ "{") (if_statement "if (param_3 - 0x44 < 6) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 - 0x44 < 6)" (( "(") (binary_expression "param_3 - 0x44 < 6" (binary_expression "param_3 - 0x44" (identifier "param_3") (- "-") (number_literal "0x44")) (< "<") (number_literal "6")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_3 == 0xf8) {\n      return;\n    }" (else "else") (if_statement "if (param_3 == 0xf8) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 == 0xf8)" (( "(") (binary_expression "param_3 == 0xf8" (identifier "param_3") (== "==") (number_literal "0xf8")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))))) (} "}")))) (if_statement "if (param_3 < 0x65) {\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }\n  else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(param_3 < 0x65)" (( "(") (binary_expression "param_3 < 0x65" (identifier "param_3") (< "<") (number_literal "0x65")) () ")")) (compound_statement "{\n    if (0x5e < param_3) {\n      return;\n    }\n    if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }\n  }" ({ "{") (if_statement "if (0x5e < param_3) {\n      return;\n    }" (if "if") (parenthesized_expression "(0x5e < param_3)" (( "(") (binary_expression "0x5e < param_3" (number_literal "0x5e") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (0x24 < param_3) {\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(0x24 < param_3)" (( "(") (binary_expression "0x24 < param_3" (number_literal "0x24") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n      if (param_3 < 0x2d) {\n        return;\n      }\n      if (param_3 - 0x38 < 2) {\n        return;\n      }\n    }" ({ "{") (if_statement "if (param_3 < 0x2d) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 < 0x2d)" (( "(") (binary_expression "param_3 < 0x2d" (identifier "param_3") (< "<") (number_literal "0x2d")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 - 0x38 < 2) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 - 0x38 < 2)" (( "(") (binary_expression "param_3 - 0x38 < 2" (binary_expression "param_3 - 0x38" (identifier "param_3") (- "-") (number_literal "0x38")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" (else "else") (if_statement "if (0x6d < param_3) {\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" (if "if") (parenthesized_expression "(0x6d < param_3)" (( "(") (binary_expression "0x6d < param_3" (number_literal "0x6d") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n    if (param_3 < 0x72) {\n      return;\n    }\n    if (param_3 == 0xf7) {\n      return;\n    }\n  }" ({ "{") (if_statement "if (param_3 < 0x72) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 < 0x72)" (( "(") (binary_expression "param_3 < 0x72" (identifier "param_3") (< "<") (number_literal "0x72")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 == 0xf7) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 == 0xf7)" (( "(") (binary_expression "param_3 == 0xf7" (identifier "param_3") (== "==") (number_literal "0xf7")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))))) (labeled_statement "LAB_000aff97:\n  if (*param_1 != '\0') {\n    return;\n  }" (statement_identifier "LAB_000aff97") (: ":") (if_statement "if (*param_1 != '\0') {\n    return;\n  }" (if "if") (parenthesized_expression "(*param_1 != '\0')" (( "(") (binary_expression "*param_1 != '\0'" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}")))) (expression_statement "iVar1 = *(int *)(DAT_005ea7c8 + 8);" (assignment_expression "iVar1 = *(int *)(DAT_005ea7c8 + 8)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(DAT_005ea7c8 + 8)" (* "*") (cast_expression "(int *)(DAT_005ea7c8 + 8)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_005ea7c8 + 8)" (( "(") (binary_expression "DAT_005ea7c8 + 8" (identifier "DAT_005ea7c8") (+ "+") (number_literal "8")) () ")"))))) (; ";")) (if_statement "if (iVar1 != 0) {\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }\n    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");\n    FUN_0028b750(param_2,uVar2);\n    *param_1 = '\x01';\n    return;\n  }" ({ "{") (if_statement "if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }" (if "if") (parenthesized_expression "((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0'))" (( "(") (binary_expression "(*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')" (parenthesized_expression "(*(char *)(iVar1 + 0x1a25) == '\0')" (( "(") (binary_expression "*(char *)(iVar1 + 0x1a25) == '\0'" (pointer_expression "*(char *)(iVar1 + 0x1a25)" (* "*") (cast_expression "(char *)(iVar1 + 0x1a25)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x1a25)" (( "(") (binary_expression "iVar1 + 0x1a25" (identifier "iVar1") (+ "+") (number_literal "0x1a25")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "(*(char *)(iVar1 + 0x2931) == '\0')" (( "(") (binary_expression "*(char *)(iVar1 + 0x2931) == '\0'" (pointer_expression "*(char *)(iVar1 + 0x2931)" (* "*") (cast_expression "(char *)(iVar1 + 0x2931)" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x2931)" (( "(") (binary_expression "iVar1 + 0x2931" (identifier "iVar1") (+ "+") (number_literal "0x2931")) () ")")))) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")"))) () ")")) (compound_statement "{\n                    \n      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");\n    }" ({ "{") (expression_statement "FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic")" (identifier "FUN_002446e0") (argument_list "("../../gold/powerpc.cc",0x19e5,"check_non_pic")" (( "(") (string_literal ""../../gold/powerpc.cc"" (" """) (string_content "../../gold/powerpc.cc") (" """)) (, ",") (number_literal "0x19e5") (, ",") (string_literal ""check_non_pic"" (" """) (string_content "check_non_pic") (" """)) () ")"))) (; ";")) (} "}"))) (expression_statement "uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");" (assignment_expression "uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC")" (identifier "uVar2") (= "=") (call_expression "gettext("requires unsupported dynamic reloc; recompile with -fPIC")" (identifier "gettext") (argument_list "("requires unsupported dynamic reloc; recompile with -fPIC")" (( "(") (string_literal ""requires unsupported dynamic reloc; recompile with -fPIC"" (" """) (string_content "requires unsupported dynamic reloc; recompile with -fPIC") (" """)) () ")")))) (; ";")) (expression_statement "FUN_0028b750(param_2,uVar2);" (call_expression "FUN_0028b750(param_2,uVar2)" (identifier "FUN_0028b750") (argument_list "(param_2,uVar2)" (( "(") (identifier "param_2") (, ",") (identifier "uVar2") () ")"))) (; ";")) (expression_statement "*param_1 = '\x01';" (assignment_expression "*param_1 = '\x01'" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (char_literal "'\x01'" (' "'") (escape_sequence "\x01") (' "'"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);" (call_expression "FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1)" (identifier "FUN_002446e0") (argument_list "("../../gold/parameters.h",0x5c,"options",param_1)" (( "(") (string_literal ""../../gold/parameters.h"" (" """) (string_content "../../gold/parameters.h") (" """)) (, ",") (number_literal "0x5c") (, ",") (string_literal ""options"" (" """) (string_content "options") (" """)) (, ",") (identifier "param_1") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Enum "DT": Some values do not have unique names */
/* DWARF original prototype: void check_non_pic(Scan * this, Relobj * object, uint r_type) */

void __thiscall
anon_unknown.dwarf_6462d4::Target_powerpc<64,_false>::Scan::check_non_pic
          (Scan *this,Relobj *object,uint r_type)

{
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (parameter_declaration type: (type_identifier) declarator: (identifier)) (parameter_declaration type: (type_identifier) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (goto_statement label: (statement_identifier))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement)))) alternative: (else_clause (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement)))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement)))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (identifier))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (return_statement))))))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (return_statement)))) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (char_literal (escape_sequence)))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content))))))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))))

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

void __regparm3 MASKED(char *param_1,undefined4 param_2,uint param_3)

{
  int iVar1;
  undefined4 uVar2;
  
  if (param_3 == 0) {
                    /* WARNING: Subroutine does not return */
    FUN_002446e0("../../gold/powerpc.cc",0x1989,"check_non_pic",param_1);
  }
  if (param_3 < 0x1b) {
    if (0x17 < param_3) {
      return;
    }
    if (param_3 == 0) goto LAB_000aff97;
    if (param_3 < 0xb) {
      return;
    }
    if (param_3 - 0x13 < 4) {
      return;
    }
  }
  else {
    if (param_3 == 0x4e) {
      return;
    }
    if (param_3 < 0x4f) {
      if (param_3 - 0x44 < 6) {
        return;
      }
    }
    else if (param_3 == 0xf8) {
      return;
    }
  }
  if (param_3 < 0x65) {
    if (0x5e < param_3) {
      return;
    }
    if (0x24 < param_3) {
      if (param_3 < 0x2d) {
        return;
      }
      if (param_3 - 0x38 < 2) {
        return;
      }
    }
  }
  else if (0x6d < param_3) {
    if (param_3 < 0x72) {
      return;
    }
    if (param_3 == 0xf7) {
      return;
    }
  }
LAB_000aff97:
  if (*param_1 != '\0') {
    return;
  }
  iVar1 = *(int *)(DAT_005ea7c8 + 8);
  if (iVar1 != 0) {
    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/powerpc.cc",0x19e5,"check_non_pic");
    }
    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");
    FUN_0028b750(param_2,uVar2);
    *param_1 = '\x01';
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);
}

