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

number_t oexpr(token n)

{
}



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

ulonglong FUN_0008f7ad(void)

{
  int *piVar1;
  int iVar2;
  ulonglong uVar3;
  undefined8 uVar4;
  
  uVar3 = FUN_0008f748();
  piVar1 = DAT_000d1714;
  *DAT_000d1714 = *DAT_000d1714 + 4;
  iVar2 = FUN_0008f0ff();
  if (iVar2 != 0x24) {
    *piVar1 = *piVar1 + -4;
    return uVar3;
  }
  *piVar1 = *piVar1 + 4;
  FUN_0008f0ff();
  uVar4 = FUN_0008f7ad();
  return (ulonglong)
         (((int)uVar4 != 0 || (int)uVar3 != 0) ||
         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00017640
ADD EBX,0x4126b
CALL 0x0008f748
MOV EDI,EAX
MOV ESI,EDX
LEA EAX,[EBX + 0xcf4]
MOV EBX,dword ptr [EAX]
MOV EAX,dword ptr [EBX]
LEA EDX,[EAX + 0x4]
MOV dword ptr [EBX],EDX
MOV EAX,dword ptr [EAX + 0x4]
CALL 0x0008f0ff
CMP EAX,0x24
JZ 0x0008f7eb
SUB dword ptr [EBX],0x4
MOV EAX,EDI
MOV EDX,ESI
POP EBX
POP ESI
POP EDI
RET
MOV EAX,dword ptr [EBX]
LEA EDX,[EAX + 0x4]
MOV dword ptr [EBX],EDX
MOV EAX,dword ptr [EAX + 0x4]
CALL 0x0008f0ff
CALL 0x0008f7ad
OR EAX,EDI
OR EDX,ESI
OR EAX,EDX
SETNZ AL
MOVZX EAX,AL
MOV EDI,EAX
XOR ESI,ESI
MOV EAX,EDI
MOV EDX,ESI
POP EBX
POP ESI
POP EDI
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nulonglong FUN_0008f7ad(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}\n\n" comment (function_definition "ulonglong FUN_0008f7ad(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}" type_identifier (function_declarator "FUN_0008f7ad(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "ulonglong uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (expression_statement "uVar3 = FUN_0008f748();" (assignment_expression "uVar3 = FUN_0008f748()" identifier = (call_expression "FUN_0008f748()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar1 = DAT_000d1714;" (assignment_expression "piVar1 = DAT_000d1714" identifier = identifier) ;) (expression_statement "*DAT_000d1714 = *DAT_000d1714 + 4;" (assignment_expression "*DAT_000d1714 = *DAT_000d1714 + 4" (pointer_expression "*DAT_000d1714" * identifier) = (binary_expression "*DAT_000d1714 + 4" (pointer_expression "*DAT_000d1714" * identifier) + number_literal)) ;) (expression_statement "iVar2 = FUN_0008f0ff();" (assignment_expression "iVar2 = FUN_0008f0ff()" identifier = (call_expression "FUN_0008f0ff()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }" if (parenthesized_expression "(iVar2 != 0x24)" ( (binary_expression "iVar2 != 0x24" identifier != number_literal) )) (compound_statement "{\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }" { (expression_statement "*piVar1 = *piVar1 + -4;" (assignment_expression "*piVar1 = *piVar1 + -4" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -4" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "*piVar1 = *piVar1 + 4;" (assignment_expression "*piVar1 = *piVar1 + 4" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + 4" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "FUN_0008f0ff();" (call_expression "FUN_0008f0ff()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = FUN_0008f7ad();" (assignment_expression "uVar4 = FUN_0008f7ad()" identifier = (call_expression "FUN_0008f7ad()" identifier (argument_list "()" ( )))) ;) (return_statement "return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));" return (call_expression "(ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0))" ( (binary_expression "((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0)" (parenthesized_expression "((int)uVar4 != 0 || (int)uVar3 != 0)" ( (binary_expression "(int)uVar4 != 0 || (int)uVar3 != 0" (binary_expression "(int)uVar4 != 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) || (binary_expression "(int)uVar3 != 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal)) )) || (parenthesized_expression "((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0" (binary_expression "(int)((ulonglong)uVar4 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar4 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) || (binary_expression "(int)(uVar3 >> 0x20) != 0" (cast_expression "(int)(uVar3 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x20)" ( (binary_expression "uVar3 >> 0x20" identifier >> number_literal) ))) != number_literal)) ))) ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nnumber_t oexpr(token n)\n\n{\n}\n\n" comment (function_definition "number_t oexpr(token n)\n\n{\n}" type_identifier (function_declarator "oexpr(token n)" identifier (parameter_list "(token n)" ( (parameter_declaration "token n" type_identifier identifier) ))) (compound_statement "{\n}" { })))
(translation_unit "ulonglong FUN_0008f7ad(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}\n\n" (function_definition "ulonglong FUN_0008f7ad(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}" type_identifier (function_declarator "FUN_0008f7ad(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}" { (declaration "int *piVar1;" primitive_type (pointer_declarator "*piVar1" * identifier) ;) (declaration "int iVar2;" primitive_type identifier ;) (declaration "ulonglong uVar3;" type_identifier identifier ;) (declaration "undefined8 uVar4;" type_identifier identifier ;) (expression_statement "uVar3 = FUN_0008f748();" (assignment_expression "uVar3 = FUN_0008f748()" identifier = (call_expression "FUN_0008f748()" identifier (argument_list "()" ( )))) ;) (expression_statement "piVar1 = DAT_000d1714;" (assignment_expression "piVar1 = DAT_000d1714" identifier = identifier) ;) (expression_statement "*DAT_000d1714 = *DAT_000d1714 + 4;" (assignment_expression "*DAT_000d1714 = *DAT_000d1714 + 4" (pointer_expression "*DAT_000d1714" * identifier) = (binary_expression "*DAT_000d1714 + 4" (pointer_expression "*DAT_000d1714" * identifier) + number_literal)) ;) (expression_statement "iVar2 = FUN_0008f0ff();" (assignment_expression "iVar2 = FUN_0008f0ff()" identifier = (call_expression "FUN_0008f0ff()" identifier (argument_list "()" ( )))) ;) (if_statement "if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }" if (parenthesized_expression "(iVar2 != 0x24)" ( (binary_expression "iVar2 != 0x24" identifier != number_literal) )) (compound_statement "{\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }" { (expression_statement "*piVar1 = *piVar1 + -4;" (assignment_expression "*piVar1 = *piVar1 + -4" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + -4" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (return_statement "return uVar3;" return identifier ;) })) (expression_statement "*piVar1 = *piVar1 + 4;" (assignment_expression "*piVar1 = *piVar1 + 4" (pointer_expression "*piVar1" * identifier) = (binary_expression "*piVar1 + 4" (pointer_expression "*piVar1" * identifier) + number_literal)) ;) (expression_statement "FUN_0008f0ff();" (call_expression "FUN_0008f0ff()" identifier (argument_list "()" ( ))) ;) (expression_statement "uVar4 = FUN_0008f7ad();" (assignment_expression "uVar4 = FUN_0008f7ad()" identifier = (call_expression "FUN_0008f7ad()" identifier (argument_list "()" ( )))) ;) (return_statement "return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));" return (call_expression "(ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0))" (parenthesized_expression "(ulonglong)" ( identifier )) (argument_list "(((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0))" ( (binary_expression "((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0)" (parenthesized_expression "((int)uVar4 != 0 || (int)uVar3 != 0)" ( (binary_expression "(int)uVar4 != 0 || (int)uVar3 != 0" (binary_expression "(int)uVar4 != 0" (cast_expression "(int)uVar4" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal) || (binary_expression "(int)uVar3 != 0" (cast_expression "(int)uVar3" ( (type_descriptor "int" primitive_type) ) identifier) != number_literal)) )) || (parenthesized_expression "((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0)" ( (binary_expression "(int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0" (binary_expression "(int)((ulonglong)uVar4 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar4 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "((ulonglong)uVar4 >> 0x20)" ( (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" ( (type_descriptor "ulonglong" type_identifier) ) identifier) >> number_literal) ))) != number_literal) || (binary_expression "(int)(uVar3 >> 0x20) != 0" (cast_expression "(int)(uVar3 >> 0x20)" ( (type_descriptor "int" primitive_type) ) (parenthesized_expression "(uVar3 >> 0x20)" ( (binary_expression "uVar3 >> 0x20" identifier >> number_literal) ))) != number_literal)) ))) ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE (pointer_declarator * IDENT) ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (return_statement return IDENT ;) })) (expression_statement (assignment_expression (pointer_expression * IDENT) = (binary_expression (pointer_expression * IDENT) + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (return_statement return (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) != LIT)) )) || (parenthesized_expression ( (binary_expression (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression (cast_expression ( (type_descriptor TYPE) ) IDENT) >> LIT) ))) != LIT) || (binary_expression (cast_expression ( (type_descriptor TYPE) ) (parenthesized_expression ( (binary_expression IDENT >> LIT) ))) != LIT)) ))) ))) ;) })))
(function_definition "ulonglong FUN_0008f7ad(void)\n\n{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}" (type_identifier "ulonglong") (function_declarator "FUN_0008f7ad(void)" (identifier "FUN_0008f7ad") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int *piVar1;\n  int iVar2;\n  ulonglong uVar3;\n  undefined8 uVar4;\n  \n  uVar3 = FUN_0008f748();\n  piVar1 = DAT_000d1714;\n  *DAT_000d1714 = *DAT_000d1714 + 4;\n  iVar2 = FUN_0008f0ff();\n  if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }\n  *piVar1 = *piVar1 + 4;\n  FUN_0008f0ff();\n  uVar4 = FUN_0008f7ad();\n  return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));\n}" ({ "{") (declaration "int *piVar1;" (primitive_type "int") (pointer_declarator "*piVar1" (* "*") (identifier "piVar1")) (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (declaration "ulonglong uVar3;" (type_identifier "ulonglong") (identifier "uVar3") (; ";")) (declaration "undefined8 uVar4;" (type_identifier "undefined8") (identifier "uVar4") (; ";")) (expression_statement "uVar3 = FUN_0008f748();" (assignment_expression "uVar3 = FUN_0008f748()" (identifier "uVar3") (= "=") (call_expression "FUN_0008f748()" (identifier "FUN_0008f748") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "piVar1 = DAT_000d1714;" (assignment_expression "piVar1 = DAT_000d1714" (identifier "piVar1") (= "=") (identifier "DAT_000d1714")) (; ";")) (expression_statement "*DAT_000d1714 = *DAT_000d1714 + 4;" (assignment_expression "*DAT_000d1714 = *DAT_000d1714 + 4" (pointer_expression "*DAT_000d1714" (* "*") (identifier "DAT_000d1714")) (= "=") (binary_expression "*DAT_000d1714 + 4" (pointer_expression "*DAT_000d1714" (* "*") (identifier "DAT_000d1714")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "iVar2 = FUN_0008f0ff();" (assignment_expression "iVar2 = FUN_0008f0ff()" (identifier "iVar2") (= "=") (call_expression "FUN_0008f0ff()" (identifier "FUN_0008f0ff") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (iVar2 != 0x24) {\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }" (if "if") (parenthesized_expression "(iVar2 != 0x24)" (( "(") (binary_expression "iVar2 != 0x24" (identifier "iVar2") (!= "!=") (number_literal "0x24")) () ")")) (compound_statement "{\n    *piVar1 = *piVar1 + -4;\n    return uVar3;\n  }" ({ "{") (expression_statement "*piVar1 = *piVar1 + -4;" (assignment_expression "*piVar1 = *piVar1 + -4" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (binary_expression "*piVar1 + -4" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "-4"))) (; ";")) (return_statement "return uVar3;" (return "return") (identifier "uVar3") (; ";")) (} "}"))) (expression_statement "*piVar1 = *piVar1 + 4;" (assignment_expression "*piVar1 = *piVar1 + 4" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (= "=") (binary_expression "*piVar1 + 4" (pointer_expression "*piVar1" (* "*") (identifier "piVar1")) (+ "+") (number_literal "4"))) (; ";")) (expression_statement "FUN_0008f0ff();" (call_expression "FUN_0008f0ff()" (identifier "FUN_0008f0ff") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "uVar4 = FUN_0008f7ad();" (assignment_expression "uVar4 = FUN_0008f7ad()" (identifier "uVar4") (= "=") (call_expression "FUN_0008f7ad()" (identifier "FUN_0008f7ad") (argument_list "()" (( "(") () ")")))) (; ";")) (return_statement "return (ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));" (return "return") (call_expression "(ulonglong)\n         (((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0))" (parenthesized_expression "(ulonglong)" (( "(") (identifier "ulonglong") () ")")) (argument_list "(((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0))" (( "(") (binary_expression "((int)uVar4 != 0 || (int)uVar3 != 0) ||\n         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0)" (parenthesized_expression "((int)uVar4 != 0 || (int)uVar3 != 0)" (( "(") (binary_expression "(int)uVar4 != 0 || (int)uVar3 != 0" (binary_expression "(int)uVar4 != 0" (cast_expression "(int)uVar4" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar4")) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(int)uVar3 != 0" (cast_expression "(int)uVar3" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (identifier "uVar3")) (!= "!=") (number_literal "0"))) () ")")) (|| "||") (parenthesized_expression "((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0)" (( "(") (binary_expression "(int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0" (binary_expression "(int)((ulonglong)uVar4 >> 0x20) != 0" (cast_expression "(int)((ulonglong)uVar4 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "((ulonglong)uVar4 >> 0x20)" (( "(") (binary_expression "(ulonglong)uVar4 >> 0x20" (cast_expression "(ulonglong)uVar4" (( "(") (type_descriptor "ulonglong" (type_identifier "ulonglong")) () ")") (identifier "uVar4")) (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0")) (|| "||") (binary_expression "(int)(uVar3 >> 0x20) != 0" (cast_expression "(int)(uVar3 >> 0x20)" (( "(") (type_descriptor "int" (primitive_type "int")) () ")") (parenthesized_expression "(uVar3 >> 0x20)" (( "(") (binary_expression "uVar3 >> 0x20" (identifier "uVar3") (>> ">>") (number_literal "0x20")) () ")"))) (!= "!=") (number_literal "0"))) () ")"))) () ")"))) (; ";")) (} "}")))

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

type_1 function_1(type_2 n)

{
}


(translation_unit (function_definition type: (type_identifier) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (return_statement (identifier)))) (expression_statement (assignment_expression left: (pointer_expression argument: (identifier)) right: (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (return_statement (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (identifier)) right: (number_literal)))) right: (parenthesized_expression (binary_expression left: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (cast_expression type: (type_descriptor type: (type_identifier)) value: (identifier)) right: (number_literal)))) right: (number_literal)) right: (binary_expression left: (cast_expression type: (type_descriptor type: (primitive_type)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))))))))

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

ulonglong MASKED(void)

{
  int *piVar1;
  int iVar2;
  ulonglong uVar3;
  undefined8 uVar4;
  
  uVar3 = FUN_0008f748();
  piVar1 = DAT_000d1714;
  *DAT_000d1714 = *DAT_000d1714 + 4;
  iVar2 = FUN_0008f0ff();
  if (iVar2 != 0x24) {
    *piVar1 = *piVar1 + -4;
    return uVar3;
  }
  *piVar1 = *piVar1 + 4;
  FUN_0008f0ff();
  uVar4 = MASKED();
  return (ulonglong)
         (((int)uVar4 != 0 || (int)uVar3 != 0) ||
         ((int)((ulonglong)uVar4 >> 0x20) != 0 || (int)(uVar3 >> 0x20) != 0));
}

