
/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * as_where(uint *linep)

{
  char *pcVar1;
  char *pcVar2;
  
  pcVar1 = physical_input_file;
  pcVar2 = logical_input_file;
  if (logical_input_file == (char *)0x0) {
    if (physical_input_file == (char *)0x0) {
      if (linep == (uint *)0x0) {
        return (char *)0x0;
      }
      goto LAB_00026516;
    }
    if (linep == (uint *)0x0) {
      return physical_input_file;
    }
  }
  else {
    if (linep == (uint *)0x0) {
      return logical_input_file;
    }
    if (-1 < logical_input_line) {
      *linep = logical_input_line;
      return pcVar2;
    }
    if (physical_input_file == (char *)0x0) {
LAB_00026516:
      *linep = 0;
      return (char *)0x0;
    }
  }
  *linep = physical_input_line;
  return pcVar1;
}



/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

int FUN_000264c0(int *param_1)

{
  int iVar1;
  int iVar2;
  
  iVar1 = DAT_00077808;
  iVar2 = DAT_00077804;
  if (DAT_00077804 == 0) {
    if (DAT_00077808 == 0) {
      if (param_1 == (int *)0x0) {
        return 0;
      }
      goto LAB_00026516;
    }
    if (param_1 == (int *)0x0) {
      return DAT_00077808;
    }
  }
  else {
    if (param_1 == (int *)0x0) {
      return DAT_00077804;
    }
    if (-1 < DAT_000777fc) {
      *param_1 = DAT_000777fc;
      return iVar2;
    }
    if (DAT_00077808 == 0) {
LAB_00026516:
      *param_1 = 0;
      return 0;
    }
  }
  *param_1 = DAT_00077800;
  return iVar1;
}


CALL 0x000161c5
ADD EDX,0x48b3b
PUSH EBX
MOV ECX,dword ptr [ESP + 0x8]
MOV EAX,dword ptr [EDX + 0x8804]
TEST EAX,EAX
JZ 0x00026508
TEST ECX,ECX
JZ 0x000264fa
MOV EBX,dword ptr [EDX + 0x87fc]
TEST EBX,EBX
JNS 0x00026500
MOV EAX,dword ptr [EDX + 0x8808]
TEST EAX,EAX
JZ 0x00026516
MOV EDX,dword ptr [EDX + 0x8800]
MOV dword ptr [ECX],EDX
POP EBX
RET
MOV dword ptr [ECX],EBX
POP EBX
RET
MOV EAX,dword ptr [EDX + 0x8808]
TEST EAX,EAX
JNZ 0x00026520
TEST ECX,ECX
JZ 0x000264fa
MOV dword ptr [ECX],0x0
XOR EAX,EAX
POP EBX
RET
TEST ECX,ECX
JNZ 0x000264f2
POP EBX
RET
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nint FUN_000264c0(int *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}\n\n" comment (function_definition "int FUN_000264c0(int *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}" primitive_type (function_declarator "FUN_000264c0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar1 = DAT_00077808;" (assignment_expression "iVar1 = DAT_00077808" identifier = identifier) ;) (expression_statement "iVar2 = DAT_00077804;" (assignment_expression "iVar2 = DAT_00077804" identifier = identifier) ;) (if_statement "if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" if (parenthesized_expression "(DAT_00077804 == 0)" ( (binary_expression "DAT_00077804 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }" { (if_statement "if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }" if (parenthesized_expression "(DAT_00077808 == 0)" ( (binary_expression "DAT_00077808 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }" { (if_statement "if (param_1 == (int *)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00026516;" goto statement_identifier ;) })) (if_statement "if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return DAT_00077808;\n    }" { (return_statement "return DAT_00077808;" return identifier ;) })) }) (else_clause "else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" else (compound_statement "{\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" { (if_statement "if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return DAT_00077804;\n    }" { (return_statement "return DAT_00077804;" return identifier ;) })) (if_statement "if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }" if (parenthesized_expression "(-1 < DAT_000777fc)" ( (binary_expression "-1 < DAT_000777fc" number_literal < identifier) )) (compound_statement "{\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }" { (expression_statement "*param_1 = DAT_000777fc;" (assignment_expression "*param_1 = DAT_000777fc" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return iVar2;" return identifier ;) })) (if_statement "if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }" if (parenthesized_expression "(DAT_00077808 == 0)" ( (binary_expression "DAT_00077808 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }" { (labeled_statement "LAB_00026516:\n      *param_1 = 0;" statement_identifier : (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;)) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "*param_1 = DAT_00077800;" (assignment_expression "*param_1 = DAT_00077800" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */\n\nchar * as_where(uint *linep)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  \n  pcVar1 = physical_input_file;\n  pcVar2 = logical_input_file;\n  if (logical_input_file == (char *)0x0) {\n    if (physical_input_file == (char *)0x0) {\n      if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }\n      goto LAB_00026516;\n    }\n    if (linep == (uint *)0x0) {\n      return physical_input_file;\n    }\n  }\n  else {\n    if (linep == (uint *)0x0) {\n      return logical_input_file;\n    }\n    if (-1 < logical_input_line) {\n      *linep = logical_input_line;\n      return pcVar2;\n    }\n    if (physical_input_file == (char *)0x0) {\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }\n  }\n  *linep = physical_input_line;\n  return pcVar1;\n}\n\n" comment (function_definition "char * as_where(uint *linep)\n\n{\n  char *pcVar1;\n  char *pcVar2;\n  \n  pcVar1 = physical_input_file;\n  pcVar2 = logical_input_file;\n  if (logical_input_file == (char *)0x0) {\n    if (physical_input_file == (char *)0x0) {\n      if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }\n      goto LAB_00026516;\n    }\n    if (linep == (uint *)0x0) {\n      return physical_input_file;\n    }\n  }\n  else {\n    if (linep == (uint *)0x0) {\n      return logical_input_file;\n    }\n    if (-1 < logical_input_line) {\n      *linep = logical_input_line;\n      return pcVar2;\n    }\n    if (physical_input_file == (char *)0x0) {\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }\n  }\n  *linep = physical_input_line;\n  return pcVar1;\n}" primitive_type (pointer_declarator "* as_where(uint *linep)" * (function_declarator "as_where(uint *linep)" identifier (parameter_list "(uint *linep)" ( (parameter_declaration "uint *linep" type_identifier (pointer_declarator "*linep" * identifier)) )))) (compound_statement "{\n  char *pcVar1;\n  char *pcVar2;\n  \n  pcVar1 = physical_input_file;\n  pcVar2 = logical_input_file;\n  if (logical_input_file == (char *)0x0) {\n    if (physical_input_file == (char *)0x0) {\n      if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }\n      goto LAB_00026516;\n    }\n    if (linep == (uint *)0x0) {\n      return physical_input_file;\n    }\n  }\n  else {\n    if (linep == (uint *)0x0) {\n      return logical_input_file;\n    }\n    if (-1 < logical_input_line) {\n      *linep = logical_input_line;\n      return pcVar2;\n    }\n    if (physical_input_file == (char *)0x0) {\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }\n  }\n  *linep = physical_input_line;\n  return pcVar1;\n}" { (declaration "char *pcVar1;" primitive_type (pointer_declarator "*pcVar1" * identifier) ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (expression_statement "pcVar1 = physical_input_file;" (assignment_expression "pcVar1 = physical_input_file" identifier = identifier) ;) (expression_statement "pcVar2 = logical_input_file;" (assignment_expression "pcVar2 = logical_input_file" identifier = identifier) ;) (if_statement "if (logical_input_file == (char *)0x0) {\n    if (physical_input_file == (char *)0x0) {\n      if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }\n      goto LAB_00026516;\n    }\n    if (linep == (uint *)0x0) {\n      return physical_input_file;\n    }\n  }\n  else {\n    if (linep == (uint *)0x0) {\n      return logical_input_file;\n    }\n    if (-1 < logical_input_line) {\n      *linep = logical_input_line;\n      return pcVar2;\n    }\n    if (physical_input_file == (char *)0x0) {\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }\n  }" if (parenthesized_expression "(logical_input_file == (char *)0x0)" ( (binary_expression "logical_input_file == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (physical_input_file == (char *)0x0) {\n      if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }\n      goto LAB_00026516;\n    }\n    if (linep == (uint *)0x0) {\n      return physical_input_file;\n    }\n  }" { (if_statement "if (physical_input_file == (char *)0x0) {\n      if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }\n      goto LAB_00026516;\n    }" if (parenthesized_expression "(physical_input_file == (char *)0x0)" ( (binary_expression "physical_input_file == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }\n      goto LAB_00026516;\n    }" { (if_statement "if (linep == (uint *)0x0) {\n        return (char *)0x0;\n      }" if (parenthesized_expression "(linep == (uint *)0x0)" ( (binary_expression "linep == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return (char *)0x0;\n      }" { (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) (goto_statement "goto LAB_00026516;" goto statement_identifier ;) })) (if_statement "if (linep == (uint *)0x0) {\n      return physical_input_file;\n    }" if (parenthesized_expression "(linep == (uint *)0x0)" ( (binary_expression "linep == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return physical_input_file;\n    }" { (return_statement "return physical_input_file;" return identifier ;) })) }) (else_clause "else {\n    if (linep == (uint *)0x0) {\n      return logical_input_file;\n    }\n    if (-1 < logical_input_line) {\n      *linep = logical_input_line;\n      return pcVar2;\n    }\n    if (physical_input_file == (char *)0x0) {\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }\n  }" else (compound_statement "{\n    if (linep == (uint *)0x0) {\n      return logical_input_file;\n    }\n    if (-1 < logical_input_line) {\n      *linep = logical_input_line;\n      return pcVar2;\n    }\n    if (physical_input_file == (char *)0x0) {\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }\n  }" { (if_statement "if (linep == (uint *)0x0) {\n      return logical_input_file;\n    }" if (parenthesized_expression "(linep == (uint *)0x0)" ( (binary_expression "linep == (uint *)0x0" identifier == (cast_expression "(uint *)0x0" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return logical_input_file;\n    }" { (return_statement "return logical_input_file;" return identifier ;) })) (if_statement "if (-1 < logical_input_line) {\n      *linep = logical_input_line;\n      return pcVar2;\n    }" if (parenthesized_expression "(-1 < logical_input_line)" ( (binary_expression "-1 < logical_input_line" number_literal < identifier) )) (compound_statement "{\n      *linep = logical_input_line;\n      return pcVar2;\n    }" { (expression_statement "*linep = logical_input_line;" (assignment_expression "*linep = logical_input_line" (pointer_expression "*linep" * identifier) = identifier) ;) (return_statement "return pcVar2;" return identifier ;) })) (if_statement "if (physical_input_file == (char *)0x0) {\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }" if (parenthesized_expression "(physical_input_file == (char *)0x0)" ( (binary_expression "physical_input_file == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\nLAB_00026516:\n      *linep = 0;\n      return (char *)0x0;\n    }" { (labeled_statement "LAB_00026516:\n      *linep = 0;" statement_identifier : (expression_statement "*linep = 0;" (assignment_expression "*linep = 0" (pointer_expression "*linep" * identifier) = number_literal) ;)) (return_statement "return (char *)0x0;" return (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) ;) })) }))) (expression_statement "*linep = physical_input_line;" (assignment_expression "*linep = physical_input_line" (pointer_expression "*linep" * identifier) = identifier) ;) (return_statement "return pcVar1;" return identifier ;) })))
(translation_unit "int FUN_000264c0(int *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}\n\n" (function_definition "int FUN_000264c0(int *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}" primitive_type (function_declarator "FUN_000264c0(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "iVar1 = DAT_00077808;" (assignment_expression "iVar1 = DAT_00077808" identifier = identifier) ;) (expression_statement "iVar2 = DAT_00077804;" (assignment_expression "iVar2 = DAT_00077804" identifier = identifier) ;) (if_statement "if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" if (parenthesized_expression "(DAT_00077804 == 0)" ( (binary_expression "DAT_00077804 == 0" identifier == number_literal) )) (compound_statement "{\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }" { (if_statement "if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }" if (parenthesized_expression "(DAT_00077808 == 0)" ( (binary_expression "DAT_00077808 == 0" identifier == number_literal) )) (compound_statement "{\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }" { (if_statement "if (param_1 == (int *)0x0) {\n        return 0;\n      }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n        return 0;\n      }" { (return_statement "return 0;" return number_literal ;) })) (goto_statement "goto LAB_00026516;" goto statement_identifier ;) })) (if_statement "if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return DAT_00077808;\n    }" { (return_statement "return DAT_00077808;" return identifier ;) })) }) (else_clause "else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" else (compound_statement "{\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" { (if_statement "if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }" if (parenthesized_expression "(param_1 == (int *)0x0)" ( (binary_expression "param_1 == (int *)0x0" identifier == (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      return DAT_00077804;\n    }" { (return_statement "return DAT_00077804;" return identifier ;) })) (if_statement "if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }" if (parenthesized_expression "(-1 < DAT_000777fc)" ( (binary_expression "-1 < DAT_000777fc" number_literal < identifier) )) (compound_statement "{\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }" { (expression_statement "*param_1 = DAT_000777fc;" (assignment_expression "*param_1 = DAT_000777fc" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return iVar2;" return identifier ;) })) (if_statement "if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }" if (parenthesized_expression "(DAT_00077808 == 0)" ( (binary_expression "DAT_00077808 == 0" identifier == number_literal) )) (compound_statement "{\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }" { (labeled_statement "LAB_00026516:\n      *param_1 = 0;" statement_identifier : (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;)) (return_statement "return 0;" return number_literal ;) })) }))) (expression_statement "*param_1 = DAT_00077800;" (assignment_expression "*param_1 = DAT_00077800" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return LIT ;) })) (goto_statement goto statement_identifier ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) }) (else_clause else (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression LIT < IDENT) )) (compound_statement { (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return IDENT ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (labeled_statement statement_identifier : (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;)) (return_statement return LIT ;) })) }))) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return IDENT ;) })))
(function_definition "int FUN_000264c0(int *param_1)\n\n{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}" (primitive_type "int") (function_declarator "FUN_000264c0(int *param_1)" (identifier "FUN_000264c0") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int iVar1;\n  int iVar2;\n  \n  iVar1 = DAT_00077808;\n  iVar2 = DAT_00077804;\n  if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }\n  *param_1 = DAT_00077800;\n  return iVar1;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "iVar1 = DAT_00077808;" (assignment_expression "iVar1 = DAT_00077808" (identifier "iVar1") (= "=") (identifier "DAT_00077808")) (; ";")) (expression_statement "iVar2 = DAT_00077804;" (assignment_expression "iVar2 = DAT_00077804" (identifier "iVar2") (= "=") (identifier "DAT_00077804")) (; ";")) (if_statement "if (DAT_00077804 == 0) {\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }\n  else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" (if "if") (parenthesized_expression "(DAT_00077804 == 0)" (( "(") (binary_expression "DAT_00077804 == 0" (identifier "DAT_00077804") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }\n    if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }\n  }" ({ "{") (if_statement "if (DAT_00077808 == 0) {\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }" (if "if") (parenthesized_expression "(DAT_00077808 == 0)" (( "(") (binary_expression "DAT_00077808 == 0" (identifier "DAT_00077808") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      if (param_1 == (int *)0x0) {\n        return 0;\n      }\n      goto LAB_00026516;\n    }" ({ "{") (if_statement "if (param_1 == (int *)0x0) {\n        return 0;\n      }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n        return 0;\n      }" ({ "{") (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (goto_statement "goto LAB_00026516;" (goto "goto") (statement_identifier "LAB_00026516") (; ";")) (} "}"))) (if_statement "if (param_1 == (int *)0x0) {\n      return DAT_00077808;\n    }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return DAT_00077808;\n    }" ({ "{") (return_statement "return DAT_00077808;" (return "return") (identifier "DAT_00077808") (; ";")) (} "}"))) (} "}")) (else_clause "else {\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" (else "else") (compound_statement "{\n    if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }\n    if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }\n    if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }\n  }" ({ "{") (if_statement "if (param_1 == (int *)0x0) {\n      return DAT_00077804;\n    }" (if "if") (parenthesized_expression "(param_1 == (int *)0x0)" (( "(") (binary_expression "param_1 == (int *)0x0" (identifier "param_1") (== "==") (cast_expression "(int *)0x0" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n      return DAT_00077804;\n    }" ({ "{") (return_statement "return DAT_00077804;" (return "return") (identifier "DAT_00077804") (; ";")) (} "}"))) (if_statement "if (-1 < DAT_000777fc) {\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }" (if "if") (parenthesized_expression "(-1 < DAT_000777fc)" (( "(") (binary_expression "-1 < DAT_000777fc" (number_literal "-1") (< "<") (identifier "DAT_000777fc")) () ")")) (compound_statement "{\n      *param_1 = DAT_000777fc;\n      return iVar2;\n    }" ({ "{") (expression_statement "*param_1 = DAT_000777fc;" (assignment_expression "*param_1 = DAT_000777fc" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "DAT_000777fc")) (; ";")) (return_statement "return iVar2;" (return "return") (identifier "iVar2") (; ";")) (} "}"))) (if_statement "if (DAT_00077808 == 0) {\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }" (if "if") (parenthesized_expression "(DAT_00077808 == 0)" (( "(") (binary_expression "DAT_00077808 == 0" (identifier "DAT_00077808") (== "==") (number_literal "0")) () ")")) (compound_statement "{\nLAB_00026516:\n      *param_1 = 0;\n      return 0;\n    }" ({ "{") (labeled_statement "LAB_00026516:\n      *param_1 = 0;" (statement_identifier "LAB_00026516") (: ":") (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";"))) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (} "}")))) (expression_statement "*param_1 = DAT_00077800;" (assignment_expression "*param_1 = DAT_00077800" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "DAT_00077800")) (; ";")) (return_statement "return iVar1;" (return "return") (identifier "iVar1") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

char * function_1(type_1 *var_3)

{
  char *pcVar1;
  char *pcVar2;
  
  pcVar1 = var_2;
  pcVar2 = var_1;
  if (var_1 == (char *)0x0) {
    if (var_2 == (char *)0x0) {
      if (var_3 == (type_1 *)0x0) {
        return (char *)0x0;
      }
      goto LAB_00026516;
    }
    if (var_3 == (type_1 *)0x0) {
      return var_2;
    }
  }
  else {
    if (var_3 == (type_1 *)0x0) {
      return var_1;
    }
    if (-1 < var_4) {
      *var_3 = var_4;
      return pcVar2;
    }
    if (var_2 == (char *)0x0) {
LAB_00026516:
      *var_3 = 0;
      return (char *)0x0;
    }
  }
  *var_3 = physical_input_line;
  return pcVar1;
}


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

/* WARNING: Function: __i686.get_pc_thunk.dx replaced with injection: get_pc_thunk_dx */

int MASKED(int *param_1)

{
  int iVar1;
  int iVar2;
  
  iVar1 = DAT_00077808;
  iVar2 = DAT_00077804;
  if (DAT_00077804 == 0) {
    if (DAT_00077808 == 0) {
      if (param_1 == (int *)0x0) {
        return 0;
      }
      goto LAB_00026516;
    }
    if (param_1 == (int *)0x0) {
      return DAT_00077808;
    }
  }
  else {
    if (param_1 == (int *)0x0) {
      return DAT_00077804;
    }
    if (-1 < DAT_000777fc) {
      *param_1 = DAT_000777fc;
      return iVar2;
    }
    if (DAT_00077808 == 0) {
LAB_00026516:
      *param_1 = 0;
      return 0;
    }
  }
  *param_1 = DAT_00077800;
  return iVar1;
}

