
/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Unknown calling convention */

char * quotearg_colon(char *arg)

{
  int iVar1;
  char *pcVar2;
  int in_GS_OFFSET;
  quoting_options *in_stack_ffffffb4;
  quoting_options options;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];
  options.style = default_quoting_options.style;
  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];
  options.flags = default_quoting_options.flags;
  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];
  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];
  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];
  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];
  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];
  options.left_quote = default_quoting_options.left_quote;
  options.right_quote = default_quoting_options.right_quote;
  options.quote_these_too[1] =
       ~default_quoting_options.quote_these_too[1] & 0x4000000 ^
       default_quoting_options.quote_these_too[1];
  pcVar2 = quotearg_n_options((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4);
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return pcVar2;
  }
                    /* WARNING: Subroutine does not return */
  __stack_chk_fail_local();
}



/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void FUN_00016600(void)

{
  int iVar1;
  int in_GS_OFFSET;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  FUN_00015880();
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00019690();
}


CALL 0x00012fdc
ADD EAX,0x99fb
SUB ESP,0x4c
MOV EDX,dword ptr GS:[0x14]
MOV dword ptr [ESP + 0x3c],EDX
XOR EDX,EDX
MOV ECX,dword ptr [EAX + 0x2d0]
MOV EDX,dword ptr [EAX + 0x2c0]
MOV dword ptr [ESP + 0x1c],ECX
MOV ECX,dword ptr [EAX + 0x2d4]
MOV dword ptr [ESP + 0xc],EDX
MOV EDX,dword ptr [EAX + 0x2c4]
MOV dword ptr [ESP + 0x20],ECX
MOV ECX,dword ptr [EAX + 0x2d8]
MOV dword ptr [ESP + 0x10],EDX
MOV EDX,dword ptr [EAX + 0x2c8]
MOV dword ptr [ESP + 0x24],ECX
MOV ECX,dword ptr [EAX + 0x2dc]
MOV dword ptr [ESP + 0x14],EDX
MOV EDX,dword ptr [EAX + 0x2cc]
MOV dword ptr [ESP + 0x28],ECX
MOV ECX,dword ptr [EAX + 0x2e0]
MOV dword ptr [ESP + 0x2c],ECX
MOV ECX,dword ptr [EAX + 0x2e4]
MOV dword ptr [ESP + 0x30],ECX
MOV ECX,dword ptr [EAX + 0x2e8]
MOV EAX,dword ptr [EAX + 0x2ec]
MOV dword ptr [ESP + 0x34],ECX
LEA ECX,[ESP + 0xc]
MOV dword ptr [ESP + 0x38],EAX
MOV EAX,EDX
NOT EAX
AND EAX,0x4000000
XOR EAX,EDX
MOV EDX,0xffffffff
MOV dword ptr [ESP + 0x18],EAX
MOV EAX,dword ptr [ESP + 0x50]
CALL 0x00015880
MOV EDX,dword ptr [ESP + 0x3c]
XOR EDX,dword ptr GS:[0x14]
JNZ 0x000166c0
ADD ESP,0x4c
RET
CALL 0x00019690
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n\nvoid FUN_00016600(void)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00019690();\n}\n\n" comment (function_definition "void FUN_00016600(void)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00019690();\n}" primitive_type (function_declarator "FUN_00016600(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    /* WARNING: Subroutine does not return */\n  FUN_00019690();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "FUN_00015880();" (call_expression "FUN_00015880()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) comment (expression_statement "FUN_00019690();" (call_expression "FUN_00019690()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */\n/* WARNING: Unknown calling convention */\n\nchar * quotearg_colon(char *arg)\n\n{\n  int iVar1;\n  char *pcVar2;\n  int in_GS_OFFSET;\n  quoting_options *in_stack_ffffffb4;\n  quoting_options options;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];\n  options.style = default_quoting_options.style;\n  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];\n  options.flags = default_quoting_options.flags;\n  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];\n  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];\n  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];\n  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];\n  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];\n  options.left_quote = default_quoting_options.left_quote;\n  options.right_quote = default_quoting_options.right_quote;\n  options.quote_these_too[1] =\n       ~default_quoting_options.quote_these_too[1] & 0x4000000 ^\n       default_quoting_options.quote_these_too[1];\n  pcVar2 = quotearg_n_options((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}\n\n" comment comment (function_definition "char * quotearg_colon(char *arg)\n\n{\n  int iVar1;\n  char *pcVar2;\n  int in_GS_OFFSET;\n  quoting_options *in_stack_ffffffb4;\n  quoting_options options;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];\n  options.style = default_quoting_options.style;\n  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];\n  options.flags = default_quoting_options.flags;\n  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];\n  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];\n  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];\n  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];\n  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];\n  options.left_quote = default_quoting_options.left_quote;\n  options.right_quote = default_quoting_options.right_quote;\n  options.quote_these_too[1] =\n       ~default_quoting_options.quote_these_too[1] & 0x4000000 ^\n       default_quoting_options.quote_these_too[1];\n  pcVar2 = quotearg_n_options((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" primitive_type (pointer_declarator "* quotearg_colon(char *arg)" * (function_declarator "quotearg_colon(char *arg)" identifier (parameter_list "(char *arg)" ( (parameter_declaration "char *arg" primitive_type (pointer_declarator "*arg" * identifier)) )))) (compound_statement "{\n  int iVar1;\n  char *pcVar2;\n  int in_GS_OFFSET;\n  quoting_options *in_stack_ffffffb4;\n  quoting_options options;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];\n  options.style = default_quoting_options.style;\n  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];\n  options.flags = default_quoting_options.flags;\n  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];\n  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];\n  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];\n  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];\n  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];\n  options.left_quote = default_quoting_options.left_quote;\n  options.right_quote = default_quoting_options.right_quote;\n  options.quote_these_too[1] =\n       ~default_quoting_options.quote_these_too[1] & 0x4000000 ^\n       default_quoting_options.quote_these_too[1];\n  pcVar2 = quotearg_n_options((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4);\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }\n                    /* WARNING: Subroutine does not return */\n  __stack_chk_fail_local();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char *pcVar2;" primitive_type (pointer_declarator "*pcVar2" * identifier) ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (declaration "quoting_options *in_stack_ffffffb4;" type_identifier (pointer_declarator "*in_stack_ffffffb4" * identifier) ;) (declaration "quoting_options options;" type_identifier identifier ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "options.quote_these_too[2] = default_quoting_options.quote_these_too[2];" (assignment_expression "options.quote_these_too[2] = default_quoting_options.quote_these_too[2]" (subscript_expression "options.quote_these_too[2]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[2]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.style = default_quoting_options.style;" (assignment_expression "options.style = default_quoting_options.style" (field_expression "options.style" identifier . field_identifier) = (field_expression "default_quoting_options.style" identifier . field_identifier)) ;) (expression_statement "options.quote_these_too[3] = default_quoting_options.quote_these_too[3];" (assignment_expression "options.quote_these_too[3] = default_quoting_options.quote_these_too[3]" (subscript_expression "options.quote_these_too[3]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[3]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.flags = default_quoting_options.flags;" (assignment_expression "options.flags = default_quoting_options.flags" (field_expression "options.flags" identifier . field_identifier) = (field_expression "default_quoting_options.flags" identifier . field_identifier)) ;) (expression_statement "options.quote_these_too[4] = default_quoting_options.quote_these_too[4];" (assignment_expression "options.quote_these_too[4] = default_quoting_options.quote_these_too[4]" (subscript_expression "options.quote_these_too[4]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[4]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[0] = default_quoting_options.quote_these_too[0];" (assignment_expression "options.quote_these_too[0] = default_quoting_options.quote_these_too[0]" (subscript_expression "options.quote_these_too[0]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[0]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[5] = default_quoting_options.quote_these_too[5];" (assignment_expression "options.quote_these_too[5] = default_quoting_options.quote_these_too[5]" (subscript_expression "options.quote_these_too[5]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[5]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[6] = default_quoting_options.quote_these_too[6];" (assignment_expression "options.quote_these_too[6] = default_quoting_options.quote_these_too[6]" (subscript_expression "options.quote_these_too[6]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[6]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.quote_these_too[7] = default_quoting_options.quote_these_too[7];" (assignment_expression "options.quote_these_too[7] = default_quoting_options.quote_these_too[7]" (subscript_expression "options.quote_these_too[7]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (subscript_expression "default_quoting_options.quote_these_too[7]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) ;) (expression_statement "options.left_quote = default_quoting_options.left_quote;" (assignment_expression "options.left_quote = default_quoting_options.left_quote" (field_expression "options.left_quote" identifier . field_identifier) = (field_expression "default_quoting_options.left_quote" identifier . field_identifier)) ;) (expression_statement "options.right_quote = default_quoting_options.right_quote;" (assignment_expression "options.right_quote = default_quoting_options.right_quote" (field_expression "options.right_quote" identifier . field_identifier) = (field_expression "default_quoting_options.right_quote" identifier . field_identifier)) ;) (expression_statement "options.quote_these_too[1] =\n       ~default_quoting_options.quote_these_too[1] & 0x4000000 ^\n       default_quoting_options.quote_these_too[1];" (assignment_expression "options.quote_these_too[1] =\n       ~default_quoting_options.quote_these_too[1] & 0x4000000 ^\n       default_quoting_options.quote_these_too[1]" (subscript_expression "options.quote_these_too[1]" (field_expression "options.quote_these_too" identifier . field_identifier) [ number_literal ]) = (binary_expression "~default_quoting_options.quote_these_too[1] & 0x4000000 ^\n       default_quoting_options.quote_these_too[1]" (binary_expression "~default_quoting_options.quote_these_too[1] & 0x4000000" (unary_expression "~default_quoting_options.quote_these_too[1]" ~ (subscript_expression "default_quoting_options.quote_these_too[1]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ])) & number_literal) ^ (subscript_expression "default_quoting_options.quote_these_too[1]" (field_expression "default_quoting_options.quote_these_too" identifier . field_identifier) [ number_literal ]))) ;) (expression_statement "pcVar2 = quotearg_n_options((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4);" (assignment_expression "pcVar2 = quotearg_n_options((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4)" identifier = (call_expression "quotearg_n_options((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4)" identifier (argument_list "((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4)" ( (cast_expression "(int)arg" ( (type_descriptor "int" primitive_type) ) identifier) , (cast_expression "(char *)0xffffffff" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , (cast_expression "(size_t)&options" ( (type_descriptor "size_t" primitive_type) ) (pointer_expression "&options" & identifier)) , identifier )))) ;) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return pcVar2;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return pcVar2;\n  }" { (return_statement "return pcVar2;" return identifier ;) })) comment (expression_statement "__stack_chk_fail_local();" (call_expression "__stack_chk_fail_local()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit "void FUN_00016600(void)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00019690();\n}\n\n" (function_definition "void FUN_00016600(void)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00019690();\n}" primitive_type (function_declarator "FUN_00016600(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00019690();\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "int in_GS_OFFSET;" primitive_type identifier ;) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" identifier = (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) ;) (expression_statement "FUN_00015880();" (call_expression "FUN_00015880()" identifier (argument_list "()" ( ))) ;) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" if (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" ( (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" identifier == (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" * (cast_expression "(int *)(in_GS_OFFSET + 0x14)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(in_GS_OFFSET + 0x14)" ( (binary_expression "in_GS_OFFSET + 0x14" identifier + number_literal) ))))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "FUN_00019690();" (call_expression "FUN_00019690()" identifier (argument_list "()" ( ))) ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE 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) ))))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) })))
(function_definition "void FUN_00016600(void)\n\n{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00019690();\n}" (primitive_type "void") (function_declarator "FUN_00016600(void)" (identifier "FUN_00016600") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  int in_GS_OFFSET;\n  \n  iVar1 = *(int *)(in_GS_OFFSET + 0x14);\n  FUN_00015880();\n  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }\n                    \n  FUN_00019690();\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "int in_GS_OFFSET;" (primitive_type "int") (identifier "in_GS_OFFSET") (; ";")) (expression_statement "iVar1 = *(int *)(in_GS_OFFSET + 0x14);" (assignment_expression "iVar1 = *(int *)(in_GS_OFFSET + 0x14)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) (; ";")) (expression_statement "FUN_00015880();" (call_expression "FUN_00015880()" (identifier "FUN_00015880") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {\n    return;\n  }" (if "if") (parenthesized_expression "(iVar1 == *(int *)(in_GS_OFFSET + 0x14))" (( "(") (binary_expression "iVar1 == *(int *)(in_GS_OFFSET + 0x14)" (identifier "iVar1") (== "==") (pointer_expression "*(int *)(in_GS_OFFSET + 0x14)" (* "*") (cast_expression "(int *)(in_GS_OFFSET + 0x14)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(in_GS_OFFSET + 0x14)" (( "(") (binary_expression "in_GS_OFFSET + 0x14" (identifier "in_GS_OFFSET") (+ "+") (number_literal "0x14")) () ")"))))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "FUN_00019690();" (call_expression "FUN_00019690()" (identifier "FUN_00019690") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */
/* WARNING: Unknown calling convention */

char * function_1(char *arg)

{
  int var_3;
  char *pcVar2;
  int var_1;
  type_1 *in_stack_ffffffb4;
  type_1 options;
  
  var_3 = *(int *)(var_1 + 0x14);
  options.quote_these_too[2] = default_quoting_options.quote_these_too[2];
  options.style = default_quoting_options.style;
  options.quote_these_too[3] = default_quoting_options.quote_these_too[3];
  options.flags = default_quoting_options.flags;
  options.quote_these_too[4] = default_quoting_options.quote_these_too[4];
  options.quote_these_too[0] = default_quoting_options.quote_these_too[0];
  options.quote_these_too[5] = default_quoting_options.quote_these_too[5];
  options.quote_these_too[6] = default_quoting_options.quote_these_too[6];
  options.quote_these_too[7] = default_quoting_options.quote_these_too[7];
  options.left_quote = default_quoting_options.left_quote;
  options.right_quote = default_quoting_options.right_quote;
  options.quote_these_too[1] =
       ~default_quoting_options.quote_these_too[1] & 0x4000000 ^
       default_quoting_options.quote_these_too[1];
  pcVar2 = var_2((int)arg,(char *)0xffffffff,(size_t)&options,in_stack_ffffffb4);
  if (var_3 == *(int *)(var_1 + 0x14)) {
    return pcVar2;
  }
                    /* WARNING: Subroutine does not return */
  var_4();
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (primitive_type) 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))))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (if_statement condition: (parenthesized_expression (binary_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))))))) consequence: (compound_statement (return_statement))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))))))

/* WARNING: Function: __i686.get_pc_thunk.ax replaced with injection: get_pc_thunk_ax */

void MASKED(void)

{
  int iVar1;
  int in_GS_OFFSET;
  
  iVar1 = *(int *)(in_GS_OFFSET + 0x14);
  FUN_00015880();
  if (iVar1 == *(int *)(in_GS_OFFSET + 0x14)) {
    return;
  }
                    /* WARNING: Subroutine does not return */
  FUN_00019690();
}

