
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: void check_non_pic(Scan * this, Relobj * object, uint r_type) */

void __thiscall
anon_unknown.dwarf_484c35::Target_sparc<64,_true>::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_00096090(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/sparc.cc",0x861,"check_non_pic");
  }
  if (param_3 < 0x35) {
    if (0x31 < param_3) {
      return;
    }
    if (param_3 == 0xc) {
      return;
    }
    if (param_3 < 0xd) {
      if (param_3 != 0) {
        if (param_3 < 8) {
          return;
        }
        if (param_3 == 9) {
          return;
        }
      }
    }
    else if (0x12 < param_3) {
      if (param_3 < 0x18) {
        return;
      }
      if (param_3 - 0x20 < 5) {
        return;
      }
    }
  }
  else {
    if (param_3 == 0x4b) {
      return;
    }
    if (param_3 < 0x4c) {
      if (0x35 < param_3) {
        if (param_3 < 0x38) {
          return;
        }
        if (param_3 - 0x48 < 2) {
          return;
        }
      }
    }
    else {
      if (param_3 == 0x55) {
        return;
      }
      if (param_3 < 0x56) {
        if (param_3 == 0x4d) {
          return;
        }
        if (param_3 == 0x4f) {
          return;
        }
      }
      else if (param_3 - 0xf8 < 2) {
        return;
      }
    }
  }
  if (*param_1 == '\0') {
    iVar1 = *(int *)(DAT_005ea7c8 + 8);
    if (iVar1 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);
    }
    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic");
    }
    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");
    FUN_0028b750(param_2,uVar2);
    *param_1 = '\x01';
  }
  return;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00050b50
ADD EBX,0x553f68
TEST ECX,ECX
JZ 0x000961bb
MOV ESI,EAX
MOV EDI,EDX
CMP ECX,0x34
JBE 0x00096120
CMP ECX,0x4b
JZ 0x0009611c
JBE 0x00096178
CMP ECX,0x55
JZ 0x0009611c
JA 0x00096160
CMP ECX,0x4d
JZ 0x0009611c
CMP ECX,0x4f
JZ 0x0009611c
NOP
CMP byte ptr [ESI],0x0
JNZ 0x0009611c
LEA EAX,[EBX + 0x7c8]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x8]
TEST EAX,EAX
JZ 0x000961d4
CMP byte ptr [EAX + 0x1a25],0x0
JNZ 0x000960fe
CMP byte ptr [EAX + 0x2931],0x0
JZ 0x000961a0
SUB ESP,0xc
LEA EAX,[EBX + 0xffe69e6c]
PUSH EAX
CALL 0x00039440
POP EDX
POP ECX
PUSH EAX
PUSH EDI
CALL 0x0028b750
MOV byte ptr [ESI],0x1
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
CMP ECX,0x32
JNC 0x0009611c
CMP ECX,0xc
JZ 0x0009611c
JA 0x00096140
TEST ECX,ECX
JZ 0x000960d0
CMP ECX,0x7
JBE 0x0009611c
CMP ECX,0x9
JNZ 0x000960d0
POP EBX
POP ESI
POP EDI
RET
CMP ECX,0x13
JC 0x000960d0
CMP ECX,0x17
JBE 0x0009611c
SUB ECX,0x20
CMP ECX,0x4
JA 0x000960d0
POP EBX
POP ESI
POP EDI
RET
SUB ECX,0xf8
CMP ECX,0x1
JA 0x000960d0
POP EBX
POP ESI
POP EDI
RET
CMP ECX,0x36
JC 0x000960d0
CMP ECX,0x37
JBE 0x0009611c
SUB ECX,0x48
CMP ECX,0x1
JA 0x000960d0
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xffe6c0ac]
PUSH EAX
LEA EAX,[EBX + 0xffe69dae]
PUSH 0x8b5
PUSH EAX
CALL 0x002446e0
LEA EAX,[EBX + 0xffe6c0ac]
PUSH EDI
PUSH EAX
LEA EAX,[EBX + 0xffe69dae]
PUSH 0x861
PUSH EAX
CALL 0x002446e0
LEA EAX,[EBX + 0xffe6c504]
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_00096090(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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\n}\n\n" comment (function_definition "void __regparm3 FUN_00096090(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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00096090(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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\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/sparc.cc",0x861,"check_non_pic");\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/sparc.cc",0x861,"check_non_pic");\n  }" { comment (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic")" identifier (argument_list "("../../gold/sparc.cc",0x861,"check_non_pic")" ( (string_literal ""../../gold/sparc.cc"" " string_content ") , number_literal , (string_literal ""check_non_pic"" " string_content ") ))) ;) })) (if_statement "if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(param_3 < 0x35)" ( (binary_expression "param_3 < 0x35" identifier < number_literal) )) (compound_statement "{\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }" { (if_statement "if (0x31 < param_3) {\n      return;\n    }" if (parenthesized_expression "(0x31 < param_3)" ( (binary_expression "0x31 < param_3" number_literal < identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0xc) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0xc)" ( (binary_expression "param_3 == 0xc" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_3 < 0xd)" ( (binary_expression "param_3 < 0xd" identifier < number_literal) )) (compound_statement "{\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }" { (if_statement "if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }" { (if_statement "if (param_3 < 8) {\n          return;\n        }" if (parenthesized_expression "(param_3 < 8)" ( (binary_expression "param_3 < 8" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 9) {\n          return;\n        }" if (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) }) (else_clause "else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" else (if_statement "if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" if (parenthesized_expression "(0x12 < param_3)" ( (binary_expression "0x12 < param_3" number_literal < identifier) )) (compound_statement "{\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" { (if_statement "if (param_3 < 0x18) {\n        return;\n      }" if (parenthesized_expression "(param_3 < 0x18)" ( (binary_expression "param_3 < 0x18" identifier < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x20 < 5) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0x20 < 5)" ( (binary_expression "param_3 - 0x20 < 5" (binary_expression "param_3 - 0x20" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })))) }) (else_clause "else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" else (compound_statement "{\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" { (if_statement "if (param_3 == 0x4b) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0x4b)" ( (binary_expression "param_3 == 0x4b" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_3 < 0x4c)" ( (binary_expression "param_3 < 0x4c" identifier < number_literal) )) (compound_statement "{\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }" { (if_statement "if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }" if (parenthesized_expression "(0x35 < param_3)" ( (binary_expression "0x35 < param_3" number_literal < identifier) )) (compound_statement "{\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }" { (if_statement "if (param_3 < 0x38) {\n          return;\n        }" if (parenthesized_expression "(param_3 < 0x38)" ( (binary_expression "param_3 < 0x38" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x48 < 2) {\n          return;\n        }" if (parenthesized_expression "(param_3 - 0x48 < 2)" ( (binary_expression "param_3 - 0x48 < 2" (binary_expression "param_3 - 0x48" identifier - number_literal) < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) }) (else_clause "else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" else (compound_statement "{\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" { (if_statement "if (param_3 == 0x55) {\n        return;\n      }" if (parenthesized_expression "(param_3 == 0x55)" ( (binary_expression "param_3 == 0x55" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }" if (parenthesized_expression "(param_3 < 0x56)" ( (binary_expression "param_3 < 0x56" identifier < number_literal) )) (compound_statement "{\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }" { (if_statement "if (param_3 == 0x4d) {\n          return;\n        }" if (parenthesized_expression "(param_3 == 0x4d)" ( (binary_expression "param_3 == 0x4d" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0x4f) {\n          return;\n        }" if (parenthesized_expression "(param_3 == 0x4f)" ( (binary_expression "param_3 == 0x4f" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) }) (else_clause "else if (param_3 - 0xf8 < 2) {\n        return;\n      }" else (if_statement "if (param_3 - 0xf8 < 2) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0xf8 < 2)" ( (binary_expression "param_3 - 0xf8 < 2" (binary_expression "param_3 - 0xf8" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })))) }))) }))) (if_statement "if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }" if (parenthesized_expression "(*param_1 == '\0')" ( (binary_expression "*param_1 == '\0'" (pointer_expression "*param_1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }" { (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                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }" { 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 ))) ;) })) (if_statement "if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    /* WARNING: Subroutine does not return */\n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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/sparc.cc",0x8b5,"check_non_pic");\n    }" { comment (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic")" identifier (argument_list "("../../gold/sparc.cc",0x8b5,"check_non_pic")" ( (string_literal ""../../gold/sparc.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 ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* DWARF original prototype: void check_non_pic(Scan * this, Relobj * object, uint r_type) */\n\nvoid __thiscall\nanon_unknown.dwarf_484c35::Target_sparc<64,_true>::Scan::check_non_pic\n          (Scan *this,Relobj *object,uint r_type)\n\n{\n}\n\n" comment comment (ERROR "void __thiscall\nanon_unknown.dwarf_484c35::Target_sparc<64,_true>::Scan::check_non_pic\n          (Scan *this,Relobj *object,uint r_type)" primitive_type (ms_call_modifier "__thiscall" __thiscall) identifier (ERROR ".dwarf_484c35::Target_sparc<64" . identifier : : identifier < number_literal) , (ERROR "_true>::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_00096090(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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00096090(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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00096090(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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 uVar2;" type_identifier identifier ;) (if_statement "if (param_3 == 0) {\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic");\n  }" if (parenthesized_expression "(param_3 == 0)" ( (binary_expression "param_3 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n    FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic");\n  }" { (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic")" identifier (argument_list "("../../gold/sparc.cc",0x861,"check_non_pic")" ( (string_literal ""../../gold/sparc.cc"" " string_content ") , number_literal , (string_literal ""check_non_pic"" " string_content ") ))) ;) })) (if_statement "if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" if (parenthesized_expression "(param_3 < 0x35)" ( (binary_expression "param_3 < 0x35" identifier < number_literal) )) (compound_statement "{\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }" { (if_statement "if (0x31 < param_3) {\n      return;\n    }" if (parenthesized_expression "(0x31 < param_3)" ( (binary_expression "0x31 < param_3" number_literal < identifier) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0xc) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0xc)" ( (binary_expression "param_3 == 0xc" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_3 < 0xd)" ( (binary_expression "param_3 < 0xd" identifier < number_literal) )) (compound_statement "{\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }" { (if_statement "if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }" if (parenthesized_expression "(param_3 != 0)" ( (binary_expression "param_3 != 0" identifier != number_literal) )) (compound_statement "{\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }" { (if_statement "if (param_3 < 8) {\n          return;\n        }" if (parenthesized_expression "(param_3 < 8)" ( (binary_expression "param_3 < 8" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 9) {\n          return;\n        }" if (parenthesized_expression "(param_3 == 9)" ( (binary_expression "param_3 == 9" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) }) (else_clause "else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" else (if_statement "if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" if (parenthesized_expression "(0x12 < param_3)" ( (binary_expression "0x12 < param_3" number_literal < identifier) )) (compound_statement "{\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" { (if_statement "if (param_3 < 0x18) {\n        return;\n      }" if (parenthesized_expression "(param_3 < 0x18)" ( (binary_expression "param_3 < 0x18" identifier < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x20 < 5) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0x20 < 5)" ( (binary_expression "param_3 - 0x20 < 5" (binary_expression "param_3 - 0x20" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) })))) }) (else_clause "else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" else (compound_statement "{\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" { (if_statement "if (param_3 == 0x4b) {\n      return;\n    }" if (parenthesized_expression "(param_3 == 0x4b)" ( (binary_expression "param_3 == 0x4b" identifier == number_literal) )) (compound_statement "{\n      return;\n    }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" if (parenthesized_expression "(param_3 < 0x4c)" ( (binary_expression "param_3 < 0x4c" identifier < number_literal) )) (compound_statement "{\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }" { (if_statement "if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }" if (parenthesized_expression "(0x35 < param_3)" ( (binary_expression "0x35 < param_3" number_literal < identifier) )) (compound_statement "{\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }" { (if_statement "if (param_3 < 0x38) {\n          return;\n        }" if (parenthesized_expression "(param_3 < 0x38)" ( (binary_expression "param_3 < 0x38" identifier < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 - 0x48 < 2) {\n          return;\n        }" if (parenthesized_expression "(param_3 - 0x48 < 2)" ( (binary_expression "param_3 - 0x48 < 2" (binary_expression "param_3 - 0x48" identifier - number_literal) < number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) })) }) (else_clause "else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" else (compound_statement "{\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" { (if_statement "if (param_3 == 0x55) {\n        return;\n      }" if (parenthesized_expression "(param_3 == 0x55)" ( (binary_expression "param_3 == 0x55" identifier == number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }" if (parenthesized_expression "(param_3 < 0x56)" ( (binary_expression "param_3 < 0x56" identifier < number_literal) )) (compound_statement "{\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }" { (if_statement "if (param_3 == 0x4d) {\n          return;\n        }" if (parenthesized_expression "(param_3 == 0x4d)" ( (binary_expression "param_3 == 0x4d" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) (if_statement "if (param_3 == 0x4f) {\n          return;\n        }" if (parenthesized_expression "(param_3 == 0x4f)" ( (binary_expression "param_3 == 0x4f" identifier == number_literal) )) (compound_statement "{\n          return;\n        }" { (return_statement "return;" return ;) })) }) (else_clause "else if (param_3 - 0xf8 < 2) {\n        return;\n      }" else (if_statement "if (param_3 - 0xf8 < 2) {\n        return;\n      }" if (parenthesized_expression "(param_3 - 0xf8 < 2)" ( (binary_expression "param_3 - 0xf8 < 2" (binary_expression "param_3 - 0xf8" identifier - number_literal) < number_literal) )) (compound_statement "{\n        return;\n      }" { (return_statement "return;" return ;) })))) }))) }))) (if_statement "if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }" if (parenthesized_expression "(*param_1 == '\0')" ( (binary_expression "*param_1 == '\0'" (pointer_expression "*param_1" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }" { (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                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }" { (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 ))) ;) })) (if_statement "if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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/sparc.cc",0x8b5,"check_non_pic");\n    }" { (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic")" identifier (argument_list "("../../gold/sparc.cc",0x8b5,"check_non_pic")" ( (string_literal ""../../gold/sparc.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 ;) })))
(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 ") ))) ;) })) (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) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (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 ;) })) })) }) (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 (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 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 (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 IDENT == LIT) )) (compound_statement { (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (return_statement return ;) })) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (return_statement return ;) })))) }))) }))) (if_statement if (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( (string_literal " string_content ") , LIT , (string_literal " string_content ") , IDENT ))) ;) })) (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 ;) })))
(function_definition "void __regparm3 FUN_00096090(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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00096090(char *param_1,undefined4 param_2,uint param_3)" (identifier "FUN_00096090") (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/sparc.cc",0x861,"check_non_pic");\n  }\n  if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }\n  if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }\n  return;\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/sparc.cc",0x861,"check_non_pic");\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/sparc.cc",0x861,"check_non_pic");\n  }" ({ "{") (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x861,"check_non_pic")" (identifier "FUN_002446e0") (argument_list "("../../gold/sparc.cc",0x861,"check_non_pic")" (( "(") (string_literal ""../../gold/sparc.cc"" (" """) (string_content "../../gold/sparc.cc") (" """)) (, ",") (number_literal "0x861") (, ",") (string_literal ""check_non_pic"" (" """) (string_content "check_non_pic") (" """)) () ")"))) (; ";")) (} "}"))) (if_statement "if (param_3 < 0x35) {\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }\n  else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" (if "if") (parenthesized_expression "(param_3 < 0x35)" (( "(") (binary_expression "param_3 < 0x35" (identifier "param_3") (< "<") (number_literal "0x35")) () ")")) (compound_statement "{\n    if (0x31 < param_3) {\n      return;\n    }\n    if (param_3 == 0xc) {\n      return;\n    }\n    if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }\n  }" ({ "{") (if_statement "if (0x31 < param_3) {\n      return;\n    }" (if "if") (parenthesized_expression "(0x31 < param_3)" (( "(") (binary_expression "0x31 < param_3" (number_literal "0x31") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 == 0xc) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 == 0xc)" (( "(") (binary_expression "param_3 == 0xc" (identifier "param_3") (== "==") (number_literal "0xc")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 < 0xd) {\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }\n    else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(param_3 < 0xd)" (( "(") (binary_expression "param_3 < 0xd" (identifier "param_3") (< "<") (number_literal "0xd")) () ")")) (compound_statement "{\n      if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }\n    }" ({ "{") (if_statement "if (param_3 != 0) {\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(param_3 != 0)" (( "(") (binary_expression "param_3 != 0" (identifier "param_3") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n        if (param_3 < 8) {\n          return;\n        }\n        if (param_3 == 9) {\n          return;\n        }\n      }" ({ "{") (if_statement "if (param_3 < 8) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_3 < 8)" (( "(") (binary_expression "param_3 < 8" (identifier "param_3") (< "<") (number_literal "8")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 == 9) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_3 == 9)" (( "(") (binary_expression "param_3 == 9" (identifier "param_3") (== "==") (number_literal "9")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" (else "else") (if_statement "if (0x12 < param_3) {\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(0x12 < param_3)" (( "(") (binary_expression "0x12 < param_3" (number_literal "0x12") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n      if (param_3 < 0x18) {\n        return;\n      }\n      if (param_3 - 0x20 < 5) {\n        return;\n      }\n    }" ({ "{") (if_statement "if (param_3 < 0x18) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 < 0x18)" (( "(") (binary_expression "param_3 < 0x18" (identifier "param_3") (< "<") (number_literal "0x18")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 - 0x20 < 5) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 - 0x20 < 5)" (( "(") (binary_expression "param_3 - 0x20 < 5" (binary_expression "param_3 - 0x20" (identifier "param_3") (- "-") (number_literal "0x20")) (< "<") (number_literal "5")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))))) (} "}")) (else_clause "else {\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" (else "else") (compound_statement "{\n    if (param_3 == 0x4b) {\n      return;\n    }\n    if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }\n  }" ({ "{") (if_statement "if (param_3 == 0x4b) {\n      return;\n    }" (if "if") (parenthesized_expression "(param_3 == 0x4b)" (( "(") (binary_expression "param_3 == 0x4b" (identifier "param_3") (== "==") (number_literal "0x4b")) () ")")) (compound_statement "{\n      return;\n    }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 < 0x4c) {\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }\n    else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" (if "if") (parenthesized_expression "(param_3 < 0x4c)" (( "(") (binary_expression "param_3 < 0x4c" (identifier "param_3") (< "<") (number_literal "0x4c")) () ")")) (compound_statement "{\n      if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }\n    }" ({ "{") (if_statement "if (0x35 < param_3) {\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }" (if "if") (parenthesized_expression "(0x35 < param_3)" (( "(") (binary_expression "0x35 < param_3" (number_literal "0x35") (< "<") (identifier "param_3")) () ")")) (compound_statement "{\n        if (param_3 < 0x38) {\n          return;\n        }\n        if (param_3 - 0x48 < 2) {\n          return;\n        }\n      }" ({ "{") (if_statement "if (param_3 < 0x38) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_3 < 0x38)" (( "(") (binary_expression "param_3 < 0x38" (identifier "param_3") (< "<") (number_literal "0x38")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 - 0x48 < 2) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_3 - 0x48 < 2)" (( "(") (binary_expression "param_3 - 0x48 < 2" (binary_expression "param_3 - 0x48" (identifier "param_3") (- "-") (number_literal "0x48")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}"))) (} "}")) (else_clause "else {\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" (else "else") (compound_statement "{\n      if (param_3 == 0x55) {\n        return;\n      }\n      if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }\n    }" ({ "{") (if_statement "if (param_3 == 0x55) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 == 0x55)" (( "(") (binary_expression "param_3 == 0x55" (identifier "param_3") (== "==") (number_literal "0x55")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 < 0x56) {\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }\n      else if (param_3 - 0xf8 < 2) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 < 0x56)" (( "(") (binary_expression "param_3 < 0x56" (identifier "param_3") (< "<") (number_literal "0x56")) () ")")) (compound_statement "{\n        if (param_3 == 0x4d) {\n          return;\n        }\n        if (param_3 == 0x4f) {\n          return;\n        }\n      }" ({ "{") (if_statement "if (param_3 == 0x4d) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_3 == 0x4d)" (( "(") (binary_expression "param_3 == 0x4d" (identifier "param_3") (== "==") (number_literal "0x4d")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (param_3 == 0x4f) {\n          return;\n        }" (if "if") (parenthesized_expression "(param_3 == 0x4f)" (( "(") (binary_expression "param_3 == 0x4f" (identifier "param_3") (== "==") (number_literal "0x4f")) () ")")) (compound_statement "{\n          return;\n        }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (} "}")) (else_clause "else if (param_3 - 0xf8 < 2) {\n        return;\n      }" (else "else") (if_statement "if (param_3 - 0xf8 < 2) {\n        return;\n      }" (if "if") (parenthesized_expression "(param_3 - 0xf8 < 2)" (( "(") (binary_expression "param_3 - 0xf8 < 2" (binary_expression "param_3 - 0xf8" (identifier "param_3") (- "-") (number_literal "0xf8")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n        return;\n      }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))))) (} "}")))) (} "}")))) (if_statement "if (*param_1 == '\0') {\n    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }" (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    iVar1 = *(int *)(DAT_005ea7c8 + 8);\n    if (iVar1 == 0) {\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }\n    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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  }" ({ "{") (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                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n                    \n      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);\n    }" ({ "{") (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") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {\n                    \n      FUN_002446e0("../../gold/sparc.cc",0x8b5,"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/sparc.cc",0x8b5,"check_non_pic");\n    }" ({ "{") (expression_statement "FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic");" (call_expression "FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic")" (identifier "FUN_002446e0") (argument_list "("../../gold/sparc.cc",0x8b5,"check_non_pic")" (( "(") (string_literal ""../../gold/sparc.cc"" (" """) (string_content "../../gold/sparc.cc") (" """)) (, ",") (number_literal "0x8b5") (, ",") (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") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* DWARF original prototype: void check_non_pic(Scan * this, Relobj * object, uint r_type) */

void __thiscall
anon_unknown.dwarf_484c35::Target_sparc<64,_true>::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))))))) (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: (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: (identifier) right: (number_literal))) 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)))))) 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: (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: (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 (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: (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)))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal))) consequence: (compound_statement (return_statement))))))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (char_literal (escape_sequence)))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (string_literal (string_content)) (number_literal) (string_literal (string_content)) (identifier)))))) (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))))

/* 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/sparc.cc",0x861,"check_non_pic");
  }
  if (param_3 < 0x35) {
    if (0x31 < param_3) {
      return;
    }
    if (param_3 == 0xc) {
      return;
    }
    if (param_3 < 0xd) {
      if (param_3 != 0) {
        if (param_3 < 8) {
          return;
        }
        if (param_3 == 9) {
          return;
        }
      }
    }
    else if (0x12 < param_3) {
      if (param_3 < 0x18) {
        return;
      }
      if (param_3 - 0x20 < 5) {
        return;
      }
    }
  }
  else {
    if (param_3 == 0x4b) {
      return;
    }
    if (param_3 < 0x4c) {
      if (0x35 < param_3) {
        if (param_3 < 0x38) {
          return;
        }
        if (param_3 - 0x48 < 2) {
          return;
        }
      }
    }
    else {
      if (param_3 == 0x55) {
        return;
      }
      if (param_3 < 0x56) {
        if (param_3 == 0x4d) {
          return;
        }
        if (param_3 == 0x4f) {
          return;
        }
      }
      else if (param_3 - 0xf8 < 2) {
        return;
      }
    }
  }
  if (*param_1 == '\0') {
    iVar1 = *(int *)(DAT_005ea7c8 + 8);
    if (iVar1 == 0) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/parameters.h",0x5c,"options",param_1);
    }
    if ((*(char *)(iVar1 + 0x1a25) == '\0') && (*(char *)(iVar1 + 0x2931) == '\0')) {
                    /* WARNING: Subroutine does not return */
      FUN_002446e0("../../gold/sparc.cc",0x8b5,"check_non_pic");
    }
    uVar2 = gettext("requires unsupported dynamic reloc; recompile with -fPIC");
    FUN_0028b750(param_2,uVar2);
    *param_1 = '\x01';
  }
  return;
}

