
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int ppc_fix_adjustable(fixS *fix)

{
  bfd *pbVar1;
  asymbol *paVar2;
  bfd_reloc_code_real_type bVar3;
  
  bVar3 = fix->fx_r_type;
  if (bVar3 - BFD_RELOC_PPC_B26 < 9) {
    if (((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||
       (fix->fx_addsy == (symbolS *)0x0)) goto LAB_00045dc1;
    paVar2 = symbol_get_bfdsym(fix->fx_addsy);
    pbVar1 = paVar2->the_bfd;
    if ((pbVar1 == (bfd *)0x0) ||
       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||
        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))) {
                    /* WARNING: Subroutine does not return */
      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");
    }
    if (((uint)paVar2[1].section & 0xe000) != 0) {
      return 0;
    }
    bVar3 = fix->fx_r_type;
  }
  if ((bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2) ||
      bVar3 == BFD_RELOC_GPREL16) {
    return 0;
  }
  if (bVar3 - BFD_RELOC_VTABLE_INHERIT < 2) {
    return 0;
  }
LAB_00045dc1:
  if (bVar3 - BFD_RELOC_PPC_TLS < 0x2a) {
    return 0;
  }
  return 1;
}



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

undefined4 FUN_00045d90(int param_1)

{
  int *piVar1;
  int iVar2;
  
  iVar2 = *(int *)(param_1 + 0x30);
  if (iVar2 - 0x1b0U < 9) {
    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))
    goto LAB_00045dc1;
    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));
    iVar2 = *piVar1;
    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))
    {
                    /* WARNING: Subroutine does not return */
      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);
    }
    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {
      return 0;
    }
    iVar2 = *(int *)(param_1 + 0x30);
  }
  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {
    return 0;
  }
  if (iVar2 - 0x5a3U < 2) {
    return 0;
  }
LAB_00045dc1:
  if (iVar2 - 0x1fcU < 0x2a) {
    return 0;
  }
  return 1;
}


PUSH ESI
PUSH EBX
CALL 0x00016090
ADD EBX,0x29269
SUB ESP,0x4
MOV ESI,dword ptr [ESP + 0x10]
MOV EAX,dword ptr [ESI + 0x30]
LEA ECX,[EAX + 0xfffffe50]
CMP ECX,0x8
JA 0x00045e18
MOV EDX,0x1
SHL EDX,CL
AND EDX,0x1fb
JNZ 0x00045de0
LEA EDX,[EAX + 0xfffffe04]
MOV EAX,0x1
CMP EDX,0x29
JA 0x00045dda
LEA ESI,[ESI]
XOR EAX,EAX
ADD ESP,0x4
POP EBX
POP ESI
RET
MOV EDX,dword ptr [ESI + 0xc]
TEST EDX,EDX
JZ 0x00045dc1
SUB ESP,0xc
PUSH EDX
CALL 0x0003b980
ADD ESP,0x10
MOV EDX,dword ptr [EAX]
TEST EDX,EDX
JZ 0x00045e49
MOV ECX,dword ptr [EDX + 0x4]
CMP dword ptr [ECX + 0x4],0x5
JNZ 0x00045e49
MOV EDX,dword ptr [EDX + 0xa0]
TEST EDX,EDX
JZ 0x00045e49
TEST byte ptr [EAX + 0x35],0xe0
JNZ 0x00045dd8
MOV EAX,dword ptr [ESI + 0x30]
LEA ESI,[ESI]
LEA EDX,[EAX + -0x13]
LEA ECX,[EAX + 0xfffffe11]
CMP EDX,0x3
SETA DL
CMP ECX,0x1
SETA CL
AND EDX,ECX
CMP EAX,0x45
SETNZ CL
TEST DL,CL
JZ 0x00045dd8
LEA EDX,[EAX + 0xfffffa5d]
CMP EDX,0x1
JBE 0x00045dd8
JMP 0x00045dc1
PUSH EAX
LEA EAX,[EBX + 0xfffe7e90]
PUSH EAX
LEA EAX,[EBX + 0xfffe5d56]
PUSH 0x1933
PUSH EAX
CALL 0x0002be50
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 FUN_00045d90(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}\n\n" comment (function_definition "undefined4 FUN_00045d90(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00045d90(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }" if (parenthesized_expression "(iVar2 - 0x1b0U < 9)" ( (binary_expression "iVar2 - 0x1b0U < 9" (binary_expression "iVar2 - 0x1b0U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }" { (if_statement "if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;" if (parenthesized_expression "(((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))" ( (binary_expression "((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0)" (parenthesized_expression "((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0)" ( (binary_expression "(1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0" (parenthesized_expression "(1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU)" ( (binary_expression "1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU" (binary_expression "1 << ((byte)(iVar2 - 0x1b0U) & 0x1f)" number_literal << (parenthesized_expression "((byte)(iVar2 - 0x1b0U) & 0x1f)" ( (binary_expression "(byte)(iVar2 - 0x1b0U) & 0x1f" (call_expression "(byte)(iVar2 - 0x1b0U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(iVar2 - 0x1b0U)" ( (binary_expression "iVar2 - 0x1b0U" identifier - number_literal) ))) & number_literal) ))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_00045dc1;" goto statement_identifier ;)) (expression_statement "piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));" (assignment_expression "piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc))" identifier = (cast_expression "(int *)FUN_0003b980(*(int *)(param_1 + 0xc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b980(*(int *)(param_1 + 0xc))" identifier (argument_list "(*(int *)(param_1 + 0xc))" ( (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }" if (parenthesized_expression "((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))" ( (binary_expression "(iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)))" (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)))" ( (parenthesized_expression "(*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))" ( (binary_expression "*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)" (binary_expression "*(int *)(*(int *)(iVar2 + 4) + 4) != 5" (pointer_expression "*(int *)(*(int *)(iVar2 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar2 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 4) + 4)" ( (binary_expression "*(int *)(iVar2 + 4) + 4" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) + number_literal) )))) != number_literal) || (parenthesized_expression "(*(int *)(iVar2 + 0xa0) == 0)" ( (binary_expression "*(int *)(iVar2 + 0xa0) == 0" (pointer_expression "*(int *)(iVar2 + 0xa0)" * (cast_expression "(int *)(iVar2 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xa0)" ( (binary_expression "iVar2 + 0xa0" identifier + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }" { comment (expression_statement "FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);" (call_expression "FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1)" identifier (argument_list "("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1)" ( (string_literal ""../../gas/config/tc-ppc.c"" " string_content ") , number_literal , (string_literal ""ppc_fix_adjustable"" " string_content ") , identifier ))) ;) })) (if_statement "if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }" if (parenthesized_expression "((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0)" ( (binary_expression "(*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0" (parenthesized_expression "(*(byte *)((int)piVar1 + 0x35) & 0xe0)" ( (binary_expression "*(byte *)((int)piVar1 + 0x35) & 0xe0" (pointer_expression "*(byte *)((int)piVar1 + 0x35)" * (cast_expression "(byte *)((int)piVar1 + 0x35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar1 + 0x35)" ( (binary_expression "(int)piVar1 + 0x35" (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) })) (if_statement "if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }" if (parenthesized_expression "((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45)" ( (binary_expression "(iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45" (parenthesized_expression "(iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2)" ( (binary_expression "iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2" (binary_expression "iVar2 - 0x13U < 4" (binary_expression "iVar2 - 0x13U" identifier - number_literal) < number_literal) || (binary_expression "iVar2 - 0x1efU < 2" (binary_expression "iVar2 - 0x1efU" identifier - number_literal) < number_literal)) )) || (binary_expression "iVar2 == 0x45" identifier == number_literal)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 - 0x5a3U < 2)" ( (binary_expression "iVar2 - 0x5a3U < 2" (binary_expression "iVar2 - 0x5a3U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }" statement_identifier : (if_statement "if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 - 0x1fcU < 0x2a)" ( (binary_expression "iVar2 - 0x1fcU < 0x2a" (binary_expression "iVar2 - 0x1fcU" identifier - number_literal) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) }))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint ppc_fix_adjustable(fixS *fix)\n\n{\n  bfd *pbVar1;\n  asymbol *paVar2;\n  bfd_reloc_code_real_type bVar3;\n  \n  bVar3 = fix->fx_r_type;\n  if (bVar3 - BFD_RELOC_PPC_B26 < 9) {\n    if (((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0)) goto LAB_00045dc1;\n    paVar2 = symbol_get_bfdsym(fix->fx_addsy);\n    pbVar1 = paVar2->the_bfd;\n    if ((pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");\n    }\n    if (((uint)paVar2[1].section & 0xe000) != 0) {\n      return 0;\n    }\n    bVar3 = fix->fx_r_type;\n  }\n  if ((bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2) ||\n      bVar3 == BFD_RELOC_GPREL16) {\n    return 0;\n  }\n  if (bVar3 - BFD_RELOC_VTABLE_INHERIT < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (bVar3 - BFD_RELOC_PPC_TLS < 0x2a) {\n    return 0;\n  }\n  return 1;\n}\n\n" comment comment (function_definition "int ppc_fix_adjustable(fixS *fix)\n\n{\n  bfd *pbVar1;\n  asymbol *paVar2;\n  bfd_reloc_code_real_type bVar3;\n  \n  bVar3 = fix->fx_r_type;\n  if (bVar3 - BFD_RELOC_PPC_B26 < 9) {\n    if (((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0)) goto LAB_00045dc1;\n    paVar2 = symbol_get_bfdsym(fix->fx_addsy);\n    pbVar1 = paVar2->the_bfd;\n    if ((pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");\n    }\n    if (((uint)paVar2[1].section & 0xe000) != 0) {\n      return 0;\n    }\n    bVar3 = fix->fx_r_type;\n  }\n  if ((bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2) ||\n      bVar3 == BFD_RELOC_GPREL16) {\n    return 0;\n  }\n  if (bVar3 - BFD_RELOC_VTABLE_INHERIT < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (bVar3 - BFD_RELOC_PPC_TLS < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" primitive_type (function_declarator "ppc_fix_adjustable(fixS *fix)" identifier (parameter_list "(fixS *fix)" ( (parameter_declaration "fixS *fix" type_identifier (pointer_declarator "*fix" * identifier)) ))) (compound_statement "{\n  bfd *pbVar1;\n  asymbol *paVar2;\n  bfd_reloc_code_real_type bVar3;\n  \n  bVar3 = fix->fx_r_type;\n  if (bVar3 - BFD_RELOC_PPC_B26 < 9) {\n    if (((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0)) goto LAB_00045dc1;\n    paVar2 = symbol_get_bfdsym(fix->fx_addsy);\n    pbVar1 = paVar2->the_bfd;\n    if ((pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");\n    }\n    if (((uint)paVar2[1].section & 0xe000) != 0) {\n      return 0;\n    }\n    bVar3 = fix->fx_r_type;\n  }\n  if ((bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2) ||\n      bVar3 == BFD_RELOC_GPREL16) {\n    return 0;\n  }\n  if (bVar3 - BFD_RELOC_VTABLE_INHERIT < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (bVar3 - BFD_RELOC_PPC_TLS < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" { (declaration "bfd *pbVar1;" type_identifier (pointer_declarator "*pbVar1" * identifier) ;) (declaration "asymbol *paVar2;" type_identifier (pointer_declarator "*paVar2" * identifier) ;) (declaration "bfd_reloc_code_real_type bVar3;" type_identifier identifier ;) (expression_statement "bVar3 = fix->fx_r_type;" (assignment_expression "bVar3 = fix->fx_r_type" identifier = (field_expression "fix->fx_r_type" identifier -> field_identifier)) ;) (if_statement "if (bVar3 - BFD_RELOC_PPC_B26 < 9) {\n    if (((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0)) goto LAB_00045dc1;\n    paVar2 = symbol_get_bfdsym(fix->fx_addsy);\n    pbVar1 = paVar2->the_bfd;\n    if ((pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");\n    }\n    if (((uint)paVar2[1].section & 0xe000) != 0) {\n      return 0;\n    }\n    bVar3 = fix->fx_r_type;\n  }" if (parenthesized_expression "(bVar3 - BFD_RELOC_PPC_B26 < 9)" ( (binary_expression "bVar3 - BFD_RELOC_PPC_B26 < 9" (binary_expression "bVar3 - BFD_RELOC_PPC_B26" identifier - identifier) < number_literal) )) (compound_statement "{\n    if (((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0)) goto LAB_00045dc1;\n    paVar2 = symbol_get_bfdsym(fix->fx_addsy);\n    pbVar1 = paVar2->the_bfd;\n    if ((pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");\n    }\n    if (((uint)paVar2[1].section & 0xe000) != 0) {\n      return 0;\n    }\n    bVar3 = fix->fx_r_type;\n  }" { (if_statement "if (((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0)) goto LAB_00045dc1;" if (parenthesized_expression "(((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0))" ( (binary_expression "((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0) ||\n       (fix->fx_addsy == (symbolS *)0x0)" (parenthesized_expression "((1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0)" ( (binary_expression "(1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU) == 0" (parenthesized_expression "(1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU)" ( (binary_expression "1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f) & 0x1fbU" (binary_expression "1 << ((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f)" number_literal << (parenthesized_expression "((byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f)" ( (binary_expression "(byte)(bVar3 - BFD_RELOC_PPC_B26) & 0x1f" (call_expression "(byte)(bVar3 - BFD_RELOC_PPC_B26)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(bVar3 - BFD_RELOC_PPC_B26)" ( (binary_expression "bVar3 - BFD_RELOC_PPC_B26" identifier - identifier) ))) & number_literal) ))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(fix->fx_addsy == (symbolS *)0x0)" ( (binary_expression "fix->fx_addsy == (symbolS *)0x0" (field_expression "fix->fx_addsy" identifier -> field_identifier) == (cast_expression "(symbolS *)0x0" ( (type_descriptor "symbolS *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) (goto_statement "goto LAB_00045dc1;" goto statement_identifier ;)) (expression_statement "paVar2 = symbol_get_bfdsym(fix->fx_addsy);" (assignment_expression "paVar2 = symbol_get_bfdsym(fix->fx_addsy)" identifier = (call_expression "symbol_get_bfdsym(fix->fx_addsy)" identifier (argument_list "(fix->fx_addsy)" ( (field_expression "fix->fx_addsy" identifier -> field_identifier) )))) ;) (expression_statement "pbVar1 = paVar2->the_bfd;" (assignment_expression "pbVar1 = paVar2->the_bfd" identifier = (field_expression "paVar2->the_bfd" identifier -> field_identifier)) ;) (if_statement "if ((pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))) {\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");\n    }" if (parenthesized_expression "((pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0))))" ( (binary_expression "(pbVar1 == (bfd *)0x0) ||\n       ((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))" (parenthesized_expression "(pbVar1 == (bfd *)0x0)" ( (binary_expression "pbVar1 == (bfd *)0x0" identifier == (cast_expression "(bfd *)0x0" ( (type_descriptor "bfd *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) || (parenthesized_expression "((pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)))" ( (parenthesized_expression "(pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0))" ( (binary_expression "pbVar1->xvec->flavour != bfd_target_elf_flavour ||\n        ((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)" (binary_expression "pbVar1->xvec->flavour != bfd_target_elf_flavour" (field_expression "pbVar1->xvec->flavour" (field_expression "pbVar1->xvec" identifier -> field_identifier) -> field_identifier) != identifier) || (parenthesized_expression "((pbVar1->tdata).aout_data == (aout_data_struct *)0x0)" ( (binary_expression "(pbVar1->tdata).aout_data == (aout_data_struct *)0x0" (field_expression "(pbVar1->tdata).aout_data" (parenthesized_expression "(pbVar1->tdata)" ( (field_expression "pbVar1->tdata" identifier -> field_identifier) )) . field_identifier) == (cast_expression "(aout_data_struct *)0x0" ( (type_descriptor "aout_data_struct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ))) )) ))) )) (compound_statement "{\n                    /* WARNING: Subroutine does not return */\n      as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");\n    }" { comment (expression_statement "as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");" (call_expression "as_abort("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable")" identifier (argument_list "("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable")" ( (string_literal ""../../gas/config/tc-ppc.c"" " string_content ") , number_literal , (string_literal ""ppc_fix_adjustable"" " string_content ") ))) ;) })) (if_statement "if (((uint)paVar2[1].section & 0xe000) != 0) {\n      return 0;\n    }" if (parenthesized_expression "(((uint)paVar2[1].section & 0xe000) != 0)" ( (binary_expression "((uint)paVar2[1].section & 0xe000) != 0" (parenthesized_expression "((uint)paVar2[1].section & 0xe000)" ( (binary_expression "(uint)paVar2[1].section & 0xe000" (cast_expression "(uint)paVar2[1].section" ( (type_descriptor "uint" type_identifier) ) (field_expression "paVar2[1].section" (subscript_expression "paVar2[1]" identifier [ number_literal ]) . field_identifier)) & number_literal) )) != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "bVar3 = fix->fx_r_type;" (assignment_expression "bVar3 = fix->fx_r_type" identifier = (field_expression "fix->fx_r_type" identifier -> field_identifier)) ;) })) (if_statement "if ((bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2) ||\n      bVar3 == BFD_RELOC_GPREL16) {\n    return 0;\n  }" if (parenthesized_expression "((bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2) ||\n      bVar3 == BFD_RELOC_GPREL16)" ( (binary_expression "(bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2) ||\n      bVar3 == BFD_RELOC_GPREL16" (parenthesized_expression "(bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2)" ( (binary_expression "bVar3 - BFD_RELOC_16_GOTOFF < 4 || bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2" (binary_expression "bVar3 - BFD_RELOC_16_GOTOFF < 4" (binary_expression "bVar3 - BFD_RELOC_16_GOTOFF" identifier - identifier) < number_literal) || (binary_expression "bVar3 - BFD_RELOC_PPC64_GOT16_DS < 2" (binary_expression "bVar3 - BFD_RELOC_PPC64_GOT16_DS" identifier - identifier) < number_literal)) )) || (binary_expression "bVar3 == BFD_RELOC_GPREL16" identifier == identifier)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (bVar3 - BFD_RELOC_VTABLE_INHERIT < 2) {\n    return 0;\n  }" if (parenthesized_expression "(bVar3 - BFD_RELOC_VTABLE_INHERIT < 2)" ( (binary_expression "bVar3 - BFD_RELOC_VTABLE_INHERIT < 2" (binary_expression "bVar3 - BFD_RELOC_VTABLE_INHERIT" identifier - identifier) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00045dc1:\n  if (bVar3 - BFD_RELOC_PPC_TLS < 0x2a) {\n    return 0;\n  }" statement_identifier : (if_statement "if (bVar3 - BFD_RELOC_PPC_TLS < 0x2a) {\n    return 0;\n  }" if (parenthesized_expression "(bVar3 - BFD_RELOC_PPC_TLS < 0x2a)" ( (binary_expression "bVar3 - BFD_RELOC_PPC_TLS < 0x2a" (binary_expression "bVar3 - BFD_RELOC_PPC_TLS" identifier - identifier) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) }))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit "undefined4 FUN_00045d90(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}\n\n" (function_definition "undefined4 FUN_00045d90(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" type_identifier (function_declarator "FUN_00045d90(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar2 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) (if_statement "if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }" if (parenthesized_expression "(iVar2 - 0x1b0U < 9)" ( (binary_expression "iVar2 - 0x1b0U < 9" (binary_expression "iVar2 - 0x1b0U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }" { (if_statement "if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;" if (parenthesized_expression "(((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))" ( (binary_expression "((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0)" (parenthesized_expression "((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0)" ( (binary_expression "(1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0" (parenthesized_expression "(1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU)" ( (binary_expression "1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU" (binary_expression "1 << ((byte)(iVar2 - 0x1b0U) & 0x1f)" number_literal << (parenthesized_expression "((byte)(iVar2 - 0x1b0U) & 0x1f)" ( (binary_expression "(byte)(iVar2 - 0x1b0U) & 0x1f" (call_expression "(byte)(iVar2 - 0x1b0U)" (parenthesized_expression "(byte)" ( identifier )) (argument_list "(iVar2 - 0x1b0U)" ( (binary_expression "iVar2 - 0x1b0U" identifier - number_literal) ))) & number_literal) ))) & number_literal) )) == number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" ( (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) == number_literal) ))) )) (goto_statement "goto LAB_00045dc1;" goto statement_identifier ;)) (expression_statement "piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));" (assignment_expression "piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc))" identifier = (cast_expression "(int *)FUN_0003b980(*(int *)(param_1 + 0xc))" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003b980(*(int *)(param_1 + 0xc))" identifier (argument_list "(*(int *)(param_1 + 0xc))" ( (pointer_expression "*(int *)(param_1 + 0xc)" * (cast_expression "(int *)(param_1 + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0xc)" ( (binary_expression "param_1 + 0xc" identifier + number_literal) )))) ))))) ;) (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" identifier = (pointer_expression "*piVar1" * identifier)) ;) (if_statement "if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }" if (parenthesized_expression "((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))" ( (binary_expression "(iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)))" (parenthesized_expression "(iVar2 == 0)" ( (binary_expression "iVar2 == 0" identifier == number_literal) )) || (parenthesized_expression "((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)))" ( (parenthesized_expression "(*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))" ( (binary_expression "*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)" (binary_expression "*(int *)(*(int *)(iVar2 + 4) + 4) != 5" (pointer_expression "*(int *)(*(int *)(iVar2 + 4) + 4)" * (cast_expression "(int *)(*(int *)(iVar2 + 4) + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(iVar2 + 4) + 4)" ( (binary_expression "*(int *)(iVar2 + 4) + 4" (pointer_expression "*(int *)(iVar2 + 4)" * (cast_expression "(int *)(iVar2 + 4)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 4)" ( (binary_expression "iVar2 + 4" identifier + number_literal) )))) + number_literal) )))) != number_literal) || (parenthesized_expression "(*(int *)(iVar2 + 0xa0) == 0)" ( (binary_expression "*(int *)(iVar2 + 0xa0) == 0" (pointer_expression "*(int *)(iVar2 + 0xa0)" * (cast_expression "(int *)(iVar2 + 0xa0)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar2 + 0xa0)" ( (binary_expression "iVar2 + 0xa0" identifier + number_literal) )))) == number_literal) ))) )) ))) )) (compound_statement "{\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }" { (expression_statement "FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);" (call_expression "FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1)" identifier (argument_list "("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1)" ( (string_literal ""../../gas/config/tc-ppc.c"" " string_content ") , number_literal , (string_literal ""ppc_fix_adjustable"" " string_content ") , identifier ))) ;) })) (if_statement "if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }" if (parenthesized_expression "((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0)" ( (binary_expression "(*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0" (parenthesized_expression "(*(byte *)((int)piVar1 + 0x35) & 0xe0)" ( (binary_expression "*(byte *)((int)piVar1 + 0x35) & 0xe0" (pointer_expression "*(byte *)((int)piVar1 + 0x35)" * (cast_expression "(byte *)((int)piVar1 + 0x35)" ( (type_descriptor "byte *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "((int)piVar1 + 0x35)" ( (binary_expression "(int)piVar1 + 0x35" (cast_expression "(int)piVar1" ( (type_descriptor "int" primitive_type) ) identifier) + number_literal) )))) & number_literal) )) != number_literal) )) (compound_statement "{\n      return 0;\n    }" { (return_statement "return 0;" return number_literal ;) })) (expression_statement "iVar2 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x30)" identifier = (pointer_expression "*(int *)(param_1 + 0x30)" * (cast_expression "(int *)(param_1 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x30)" ( (binary_expression "param_1 + 0x30" identifier + number_literal) ))))) ;) })) (if_statement "if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }" if (parenthesized_expression "((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45)" ( (binary_expression "(iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45" (parenthesized_expression "(iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2)" ( (binary_expression "iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2" (binary_expression "iVar2 - 0x13U < 4" (binary_expression "iVar2 - 0x13U" identifier - number_literal) < number_literal) || (binary_expression "iVar2 - 0x1efU < 2" (binary_expression "iVar2 - 0x1efU" identifier - number_literal) < number_literal)) )) || (binary_expression "iVar2 == 0x45" identifier == number_literal)) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (if_statement "if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 - 0x5a3U < 2)" ( (binary_expression "iVar2 - 0x5a3U < 2" (binary_expression "iVar2 - 0x5a3U" identifier - number_literal) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) })) (labeled_statement "LAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }" statement_identifier : (if_statement "if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }" if (parenthesized_expression "(iVar2 - 0x1fcU < 0x2a)" ( (binary_expression "iVar2 - 0x1fcU < 0x2a" (binary_expression "iVar2 - 0x1fcU" identifier - number_literal) < number_literal) )) (compound_statement "{\n    return 0;\n  }" { (return_statement "return 0;" return number_literal ;) }))) (return_statement "return 1;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (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 (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression LIT << (parenthesized_expression ( (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT - LIT) ))) & LIT) ))) & LIT) )) == LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) (goto_statement goto statement_identifier ;)) (expression_statement (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) ))))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT == LIT) )) || (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) + LIT) )))) != LIT) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == LIT) ))) )) ))) )) (compound_statement { (expression_statement (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 (cast_expression ( (type_descriptor TYPE) ) IDENT) + LIT) )))) & LIT) )) != LIT) )) (compound_statement { (return_statement return LIT ;) })) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (binary_expression IDENT - LIT) < LIT) || (binary_expression (binary_expression IDENT - LIT) < LIT)) )) || (binary_expression IDENT == LIT)) )) (compound_statement { (return_statement return LIT ;) })) (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (return_statement return LIT ;) })) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (binary_expression IDENT - LIT) < LIT) )) (compound_statement { (return_statement return LIT ;) }))) (return_statement return LIT ;) })))
(function_definition "undefined4 FUN_00045d90(int param_1)\n\n{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" (type_identifier "undefined4") (function_declarator "FUN_00045d90(int param_1)" (identifier "FUN_00045d90") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  \n  iVar2 = *(int *)(param_1 + 0x30);\n  if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }\n  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }\n  if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }\nLAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }\n  return 1;\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "iVar2 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x30)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (if_statement "if (iVar2 - 0x1b0U < 9) {\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }" (if "if") (parenthesized_expression "(iVar2 - 0x1b0U < 9)" (( "(") (binary_expression "iVar2 - 0x1b0U < 9" (binary_expression "iVar2 - 0x1b0U" (identifier "iVar2") (- "-") (number_literal "0x1b0U")) (< "<") (number_literal "9")) () ")")) (compound_statement "{\n    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;\n    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));\n    iVar2 = *piVar1;\n    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }\n    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }\n    iVar2 = *(int *)(param_1 + 0x30);\n  }" ({ "{") (if_statement "if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))\n    goto LAB_00045dc1;" (if "if") (parenthesized_expression "(((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))" (( "(") (binary_expression "((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0)" (parenthesized_expression "((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0)" (( "(") (binary_expression "(1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0" (parenthesized_expression "(1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU)" (( "(") (binary_expression "1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU" (binary_expression "1 << ((byte)(iVar2 - 0x1b0U) & 0x1f)" (number_literal "1") (<< "<<") (parenthesized_expression "((byte)(iVar2 - 0x1b0U) & 0x1f)" (( "(") (binary_expression "(byte)(iVar2 - 0x1b0U) & 0x1f" (call_expression "(byte)(iVar2 - 0x1b0U)" (parenthesized_expression "(byte)" (( "(") (identifier "byte") () ")")) (argument_list "(iVar2 - 0x1b0U)" (( "(") (binary_expression "iVar2 - 0x1b0U" (identifier "iVar2") (- "-") (number_literal "0x1b0U")) () ")"))) (& "&") (number_literal "0x1f")) () ")"))) (& "&") (number_literal "0x1fbU")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(param_1 + 0xc) == 0)" (( "(") (binary_expression "*(int *)(param_1 + 0xc) == 0" (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) (goto_statement "goto LAB_00045dc1;" (goto "goto") (statement_identifier "LAB_00045dc1") (; ";"))) (expression_statement "piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));" (assignment_expression "piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc))" (identifier "piVar1") (= "=") (cast_expression "(int *)FUN_0003b980(*(int *)(param_1 + 0xc))" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003b980(*(int *)(param_1 + 0xc))" (identifier "FUN_0003b980") (argument_list "(*(int *)(param_1 + 0xc))" (( "(") (pointer_expression "*(int *)(param_1 + 0xc)" (* "*") (cast_expression "(int *)(param_1 + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0xc)" (( "(") (binary_expression "param_1 + 0xc" (identifier "param_1") (+ "+") (number_literal "0xc")) () ")")))) () ")"))))) (; ";")) (expression_statement "iVar2 = *piVar1;" (assignment_expression "iVar2 = *piVar1" (identifier "iVar2") (= "=") (pointer_expression "*piVar1" (* "*") (identifier "piVar1"))) (; ";")) (if_statement "if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))\n    {\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }" (if "if") (parenthesized_expression "((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))" (( "(") (binary_expression "(iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)))" (parenthesized_expression "(iVar2 == 0)" (( "(") (binary_expression "iVar2 == 0" (identifier "iVar2") (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)))" (( "(") (parenthesized_expression "(*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))" (( "(") (binary_expression "*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0)" (binary_expression "*(int *)(*(int *)(iVar2 + 4) + 4) != 5" (pointer_expression "*(int *)(*(int *)(iVar2 + 4) + 4)" (* "*") (cast_expression "(int *)(*(int *)(iVar2 + 4) + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(iVar2 + 4) + 4)" (( "(") (binary_expression "*(int *)(iVar2 + 4) + 4" (pointer_expression "*(int *)(iVar2 + 4)" (* "*") (cast_expression "(int *)(iVar2 + 4)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 4)" (( "(") (binary_expression "iVar2 + 4" (identifier "iVar2") (+ "+") (number_literal "4")) () ")")))) (+ "+") (number_literal "4")) () ")")))) (!= "!=") (number_literal "5")) (|| "||") (parenthesized_expression "(*(int *)(iVar2 + 0xa0) == 0)" (( "(") (binary_expression "*(int *)(iVar2 + 0xa0) == 0" (pointer_expression "*(int *)(iVar2 + 0xa0)" (* "*") (cast_expression "(int *)(iVar2 + 0xa0)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar2 + 0xa0)" (( "(") (binary_expression "iVar2 + 0xa0" (identifier "iVar2") (+ "+") (number_literal "0xa0")) () ")")))) (== "==") (number_literal "0")) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n                    \n      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);\n    }" ({ "{") (expression_statement "FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);" (call_expression "FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1)" (identifier "FUN_0002be50") (argument_list "("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1)" (( "(") (string_literal ""../../gas/config/tc-ppc.c"" (" """) (string_content "../../gas/config/tc-ppc.c") (" """)) (, ",") (number_literal "0x1933") (, ",") (string_literal ""ppc_fix_adjustable"" (" """) (string_content "ppc_fix_adjustable") (" """)) (, ",") (identifier "piVar1") () ")"))) (; ";")) (} "}"))) (if_statement "if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {\n      return 0;\n    }" (if "if") (parenthesized_expression "((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0)" (( "(") (binary_expression "(*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0" (parenthesized_expression "(*(byte *)((int)piVar1 + 0x35) & 0xe0)" (( "(") (binary_expression "*(byte *)((int)piVar1 + 0x35) & 0xe0" (pointer_expression "*(byte *)((int)piVar1 + 0x35)" (* "*") (cast_expression "(byte *)((int)piVar1 + 0x35)" (( "(") (type_descriptor "byte *" (type_identifier "byte") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "((int)piVar1 + 0x35)" (( "(") (binary_expression "(int)piVar1 + 0x35" (cast_expression "(int)piVar1" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "piVar1")) (+ "+") (number_literal "0x35")) () ")")))) (& "&") (number_literal "0xe0")) () ")")) (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      return 0;\n    }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (expression_statement "iVar2 = *(int *)(param_1 + 0x30);" (assignment_expression "iVar2 = *(int *)(param_1 + 0x30)" (identifier "iVar2") (= "=") (pointer_expression "*(int *)(param_1 + 0x30)" (* "*") (cast_expression "(int *)(param_1 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x30)" (( "(") (binary_expression "param_1 + 0x30" (identifier "param_1") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (} "}"))) (if_statement "if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {\n    return 0;\n  }" (if "if") (parenthesized_expression "((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45)" (( "(") (binary_expression "(iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45" (parenthesized_expression "(iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2)" (( "(") (binary_expression "iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2" (binary_expression "iVar2 - 0x13U < 4" (binary_expression "iVar2 - 0x13U" (identifier "iVar2") (- "-") (number_literal "0x13U")) (< "<") (number_literal "4")) (|| "||") (binary_expression "iVar2 - 0x1efU < 2" (binary_expression "iVar2 - 0x1efU" (identifier "iVar2") (- "-") (number_literal "0x1efU")) (< "<") (number_literal "2"))) () ")")) (|| "||") (binary_expression "iVar2 == 0x45" (identifier "iVar2") (== "==") (number_literal "0x45"))) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (if_statement "if (iVar2 - 0x5a3U < 2) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar2 - 0x5a3U < 2)" (( "(") (binary_expression "iVar2 - 0x5a3U < 2" (binary_expression "iVar2 - 0x5a3U" (identifier "iVar2") (- "-") (number_literal "0x5a3U")) (< "<") (number_literal "2")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (labeled_statement "LAB_00045dc1:\n  if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }" (statement_identifier "LAB_00045dc1") (: ":") (if_statement "if (iVar2 - 0x1fcU < 0x2a) {\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar2 - 0x1fcU < 0x2a)" (( "(") (binary_expression "iVar2 - 0x1fcU < 0x2a" (binary_expression "iVar2 - 0x1fcU" (identifier "iVar2") (- "-") (number_literal "0x1fcU")) (< "<") (number_literal "0x2a")) () ")")) (compound_statement "{\n    return 0;\n  }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))) (return_statement "return 1;" (return "return") (number_literal "1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention */

int function_1(type_1 *fix)

{
  type_2 *var_4;
  type_3 *paVar2;
  type_4 var_1;
  
  var_1 = fix->fx_r_type;
  if (var_1 - var_2 < 9) {
    if (((1 << ((byte)(var_1 - var_2) & 0x1f) & 0x1fbU) == 0) ||
       (fix->fx_addsy == (type_5 *)0x0)) goto LAB_00045dc1;
    paVar2 = var_3(fix->fx_addsy);
    var_4 = paVar2->the_bfd;
    if ((var_4 == (type_2 *)0x0) ||
       ((var_4->xvec->flavour != var_5 ||
        ((var_4->tdata).aout_data == (type_6 *)0x0)))) {
                    /* WARNING: Subroutine does not return */
      var_6("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable");
    }
    if (((type_7)paVar2[1].section & 0xe000) != 0) {
      return 0;
    }
    var_1 = fix->fx_r_type;
  }
  if ((var_1 - var_7 < 4 || var_1 - var_8 < 2) ||
      var_1 == var_9) {
    return 0;
  }
  if (var_1 - var_10 < 2) {
    return 0;
  }
LAB_00045dc1:
  if (var_1 - var_11 < 0x2a) {
    return 0;
  }
  return 1;
}


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

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

undefined4 MASKED(int param_1)

{
  int *piVar1;
  int iVar2;
  
  iVar2 = *(int *)(param_1 + 0x30);
  if (iVar2 - 0x1b0U < 9) {
    if (((1 << ((byte)(iVar2 - 0x1b0U) & 0x1f) & 0x1fbU) == 0) || (*(int *)(param_1 + 0xc) == 0))
    goto LAB_00045dc1;
    piVar1 = (int *)FUN_0003b980(*(int *)(param_1 + 0xc));
    iVar2 = *piVar1;
    if ((iVar2 == 0) || ((*(int *)(*(int *)(iVar2 + 4) + 4) != 5 || (*(int *)(iVar2 + 0xa0) == 0))))
    {
                    /* WARNING: Subroutine does not return */
      FUN_0002be50("../../gas/config/tc-ppc.c",0x1933,"ppc_fix_adjustable",piVar1);
    }
    if ((*(byte *)((int)piVar1 + 0x35) & 0xe0) != 0) {
      return 0;
    }
    iVar2 = *(int *)(param_1 + 0x30);
  }
  if ((iVar2 - 0x13U < 4 || iVar2 - 0x1efU < 2) || iVar2 == 0x45) {
    return 0;
  }
  if (iVar2 - 0x5a3U < 2) {
    return 0;
  }
LAB_00045dc1:
  if (iVar2 - 0x1fcU < 0x2a) {
    return 0;
  }
  return 1;
}

