
int rpl_getopt_internal(int argc,char **argv,char *optstring,rpl_option *longopts,int *longind,
                       int long_only,int posixly_correct)

{
  int iVar1;
  
  getopt_data.rpl_optind = rpl_optind;
  getopt_data.rpl_opterr = rpl_opterr;
  iVar1 = _getopt_internal_r(argc,argv,optstring,longopts,longind,long_only,&getopt_data,
                             posixly_correct);
  rpl_optind = getopt_data.rpl_optind;
  rpl_optarg = getopt_data.rpl_optarg;
  rpl_optopt = getopt_data.rpl_optopt;
  return iVar1;
}



/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void FUN_0010c90f(void)

{
  DAT_001129e0 = DAT_00112918;
  _DAT_001129e4 = DAT_00112914;
  FUN_0010bac5();
  DAT_00112918 = DAT_001129e0;
  _DAT_00112a58 = DAT_001129f0;
  _DAT_00112910 = DAT_001129e8;
  return;
}


SUB RSP,0x8
MOV EAX,dword ptr [0x00112918]
MOV dword ptr [0x001129e0],EAX
MOV EAX,dword ptr [0x00112914]
MOV dword ptr [0x001129e4],EAX
MOV EAX,dword ptr [RSP + 0x10]
PUSH RAX
LEA RAX,[0x1129e0]
PUSH RAX
CALL 0x0010bac5
MOV EDX,dword ptr [0x001129e0]
MOV dword ptr [0x00112918],EDX
MOV RDX,qword ptr [0x001129f0]
MOV qword ptr [0x00112a58],RDX
MOV EDX,dword ptr [0x001129e8]
MOV dword ptr [0x00112910],EDX
ADD RSP,0x18
RET
(translation_unit "/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */\n\nvoid FUN_0010c90f(void)\n\n{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}\n\n" comment (function_definition "void FUN_0010c90f(void)\n\n{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}" primitive_type (function_declarator "FUN_0010c90f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}" { (expression_statement "DAT_001129e0 = DAT_00112918;" (assignment_expression "DAT_001129e0 = DAT_00112918" identifier = identifier) ;) (expression_statement "_DAT_001129e4 = DAT_00112914;" (assignment_expression "_DAT_001129e4 = DAT_00112914" identifier = identifier) ;) (expression_statement "FUN_0010bac5();" (call_expression "FUN_0010bac5()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00112918 = DAT_001129e0;" (assignment_expression "DAT_00112918 = DAT_001129e0" identifier = identifier) ;) (expression_statement "_DAT_00112a58 = DAT_001129f0;" (assignment_expression "_DAT_00112a58 = DAT_001129f0" identifier = identifier) ;) (expression_statement "_DAT_00112910 = DAT_001129e8;" (assignment_expression "_DAT_00112910 = DAT_001129e8" identifier = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit "int rpl_getopt_internal(int argc,char **argv,char *optstring,rpl_option *longopts,int *longind,\n                       int long_only,int posixly_correct)\n\n{\n  int iVar1;\n  \n  getopt_data.rpl_optind = rpl_optind;\n  getopt_data.rpl_opterr = rpl_opterr;\n  iVar1 = _getopt_internal_r(argc,argv,optstring,longopts,longind,long_only,&getopt_data,\n                             posixly_correct);\n  rpl_optind = getopt_data.rpl_optind;\n  rpl_optarg = getopt_data.rpl_optarg;\n  rpl_optopt = getopt_data.rpl_optopt;\n  return iVar1;\n}\n\n" (function_definition "int rpl_getopt_internal(int argc,char **argv,char *optstring,rpl_option *longopts,int *longind,\n                       int long_only,int posixly_correct)\n\n{\n  int iVar1;\n  \n  getopt_data.rpl_optind = rpl_optind;\n  getopt_data.rpl_opterr = rpl_opterr;\n  iVar1 = _getopt_internal_r(argc,argv,optstring,longopts,longind,long_only,&getopt_data,\n                             posixly_correct);\n  rpl_optind = getopt_data.rpl_optind;\n  rpl_optarg = getopt_data.rpl_optarg;\n  rpl_optopt = getopt_data.rpl_optopt;\n  return iVar1;\n}" primitive_type (function_declarator "rpl_getopt_internal(int argc,char **argv,char *optstring,rpl_option *longopts,int *longind,\n                       int long_only,int posixly_correct)" identifier (parameter_list "(int argc,char **argv,char *optstring,rpl_option *longopts,int *longind,\n                       int long_only,int posixly_correct)" ( (parameter_declaration "int argc" primitive_type identifier) , (parameter_declaration "char **argv" primitive_type (pointer_declarator "**argv" * (pointer_declarator "*argv" * identifier))) , (parameter_declaration "char *optstring" primitive_type (pointer_declarator "*optstring" * identifier)) , (parameter_declaration "rpl_option *longopts" type_identifier (pointer_declarator "*longopts" * identifier)) , (parameter_declaration "int *longind" primitive_type (pointer_declarator "*longind" * identifier)) , (parameter_declaration "int long_only" primitive_type identifier) , (parameter_declaration "int posixly_correct" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  getopt_data.rpl_optind = rpl_optind;\n  getopt_data.rpl_opterr = rpl_opterr;\n  iVar1 = _getopt_internal_r(argc,argv,optstring,longopts,longind,long_only,&getopt_data,\n                             posixly_correct);\n  rpl_optind = getopt_data.rpl_optind;\n  rpl_optarg = getopt_data.rpl_optarg;\n  rpl_optopt = getopt_data.rpl_optopt;\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "getopt_data.rpl_optind = rpl_optind;" (assignment_expression "getopt_data.rpl_optind = rpl_optind" (field_expression "getopt_data.rpl_optind" identifier . field_identifier) = identifier) ;) (expression_statement "getopt_data.rpl_opterr = rpl_opterr;" (assignment_expression "getopt_data.rpl_opterr = rpl_opterr" (field_expression "getopt_data.rpl_opterr" identifier . field_identifier) = identifier) ;) (expression_statement "iVar1 = _getopt_internal_r(argc,argv,optstring,longopts,longind,long_only,&getopt_data,\n                             posixly_correct);" (assignment_expression "iVar1 = _getopt_internal_r(argc,argv,optstring,longopts,longind,long_only,&getopt_data,\n                             posixly_correct)" identifier = (call_expression "_getopt_internal_r(argc,argv,optstring,longopts,longind,long_only,&getopt_data,\n                             posixly_correct)" identifier (argument_list "(argc,argv,optstring,longopts,longind,long_only,&getopt_data,\n                             posixly_correct)" ( identifier , identifier , identifier , identifier , identifier , identifier , (pointer_expression "&getopt_data" & identifier) , identifier )))) ;) (expression_statement "rpl_optind = getopt_data.rpl_optind;" (assignment_expression "rpl_optind = getopt_data.rpl_optind" identifier = (field_expression "getopt_data.rpl_optind" identifier . field_identifier)) ;) (expression_statement "rpl_optarg = getopt_data.rpl_optarg;" (assignment_expression "rpl_optarg = getopt_data.rpl_optarg" identifier = (field_expression "getopt_data.rpl_optarg" identifier . field_identifier)) ;) (expression_statement "rpl_optopt = getopt_data.rpl_optopt;" (assignment_expression "rpl_optopt = getopt_data.rpl_optopt" identifier = (field_expression "getopt_data.rpl_optopt" identifier . field_identifier)) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "void FUN_0010c90f(void)\n\n{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}\n\n" (function_definition "void FUN_0010c90f(void)\n\n{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}" primitive_type (function_declarator "FUN_0010c90f(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}" { (expression_statement "DAT_001129e0 = DAT_00112918;" (assignment_expression "DAT_001129e0 = DAT_00112918" identifier = identifier) ;) (expression_statement "_DAT_001129e4 = DAT_00112914;" (assignment_expression "_DAT_001129e4 = DAT_00112914" identifier = identifier) ;) (expression_statement "FUN_0010bac5();" (call_expression "FUN_0010bac5()" identifier (argument_list "()" ( ))) ;) (expression_statement "DAT_00112918 = DAT_001129e0;" (assignment_expression "DAT_00112918 = DAT_001129e0" identifier = identifier) ;) (expression_statement "_DAT_00112a58 = DAT_001129f0;" (assignment_expression "_DAT_00112a58 = DAT_001129f0" identifier = identifier) ;) (expression_statement "_DAT_00112910 = DAT_001129e8;" (assignment_expression "_DAT_00112910 = DAT_001129e8" identifier = identifier) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (return_statement return ;) })))
(function_definition "void FUN_0010c90f(void)\n\n{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}" (primitive_type "void") (function_declarator "FUN_0010c90f(void)" (identifier "FUN_0010c90f") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  DAT_001129e0 = DAT_00112918;\n  _DAT_001129e4 = DAT_00112914;\n  FUN_0010bac5();\n  DAT_00112918 = DAT_001129e0;\n  _DAT_00112a58 = DAT_001129f0;\n  _DAT_00112910 = DAT_001129e8;\n  return;\n}" ({ "{") (expression_statement "DAT_001129e0 = DAT_00112918;" (assignment_expression "DAT_001129e0 = DAT_00112918" (identifier "DAT_001129e0") (= "=") (identifier "DAT_00112918")) (; ";")) (expression_statement "_DAT_001129e4 = DAT_00112914;" (assignment_expression "_DAT_001129e4 = DAT_00112914" (identifier "_DAT_001129e4") (= "=") (identifier "DAT_00112914")) (; ";")) (expression_statement "FUN_0010bac5();" (call_expression "FUN_0010bac5()" (identifier "FUN_0010bac5") (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "DAT_00112918 = DAT_001129e0;" (assignment_expression "DAT_00112918 = DAT_001129e0" (identifier "DAT_00112918") (= "=") (identifier "DAT_001129e0")) (; ";")) (expression_statement "_DAT_00112a58 = DAT_001129f0;" (assignment_expression "_DAT_00112a58 = DAT_001129f0" (identifier "_DAT_00112a58") (= "=") (identifier "DAT_001129f0")) (; ";")) (expression_statement "_DAT_00112910 = DAT_001129e8;" (assignment_expression "_DAT_00112910 = DAT_001129e8" (identifier "_DAT_00112910") (= "=") (identifier "DAT_001129e8")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

int function_1(int argc,char **argv,char *optstring,type_1 *longopts,int *longind,
                       int long_only,int posixly_correct)

{
  int iVar1;
  
  getopt_data.rpl_optind = rpl_optind;
  getopt_data.rpl_opterr = rpl_opterr;
  iVar1 = var_1(argc,argv,optstring,longopts,longind,long_only,&getopt_data,
                             posixly_correct);
  rpl_optind = getopt_data.rpl_optind;
  rpl_optarg = getopt_data.rpl_optarg;
  rpl_optopt = getopt_data.rpl_optopt;
  return iVar1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (return_statement))))

/* WARNING: Globals starting with '_' overlap smaller symbols at the same address */

void MASKED(void)

{
  DAT_001129e0 = DAT_00112918;
  _DAT_001129e4 = DAT_00112914;
  FUN_0010bac5();
  DAT_00112918 = DAT_001129e0;
  _DAT_00112a58 = DAT_001129f0;
  _DAT_00112910 = DAT_001129e8;
  return;
}

