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

int rl_insert_comment(int count,int key)

{
  size_t __n;
  int iVar1;
  char cVar2;
  char *__s1;
  
  __s1 = _rl_comment_begin;
  rl_point = 0;
  if (_rl_comment_begin == (char *)0x0) {
    if (rl_explicit_arg == 0) {
      __s1 = "#";
    }
    else {
      cVar2 = '#';
      __n = 1;
      __s1 = "#";
LAB_000e3e0d:
      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))
      goto LAB_000e3e60;
    }
  }
  else if (rl_explicit_arg != 0) {
    __n = strlen(_rl_comment_begin);
    if (__n != 0) {
      cVar2 = *__s1;
      goto LAB_000e3e0d;
    }
LAB_000e3e60:
    rl_delete_text(0,__n);
    goto LAB_000e3e3c;
  }
  rl_insert_text(__s1);
LAB_000e3e3c:
  (*rl_redisplay_function)();
  rl_newline(1,10);
  return 0;
}



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

undefined4 rl_insert_comment(void)

{
  size_t __n;
  int iVar1;
  char cVar2;
  char *__s1;
  
  __s1 = _rl_comment_begin;
  rl_point = 0;
  if (_rl_comment_begin == (char *)0x0) {
    if (rl_explicit_arg == 0) {
      __s1 = "#";
    }
    else {
      cVar2 = '#';
      __n = 1;
      __s1 = "#";
LAB_000e3e0d:
      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))
      goto LAB_000e3e60;
    }
  }
  else if (rl_explicit_arg != 0) {
    __n = strlen(_rl_comment_begin);
    if (__n != 0) {
      cVar2 = *__s1;
      goto LAB_000e3e0d;
    }
LAB_000e3e60:
    rl_delete_text(0,__n);
    goto LAB_000e3e3c;
  }
  rl_insert_text(__s1);
LAB_000e3e3c:
  (*(code *)rl_redisplay_function)();
  rl_newline(1,10);
  return 0;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00031ed0
ADD EBX,0x66238
LEA EAX,[EBX + 0xd988]
MOV dword ptr [EAX],0x0
LEA EAX,[EBX + 0xd8c8]
MOV ESI,dword ptr [EAX]
LEA EAX,[EBX + 0x7b48]
MOV EAX,dword ptr [EAX]
TEST ESI,ESI
JZ 0x000e3e70
TEST EAX,EAX
JZ 0x000e3e30
SUB ESP,0xc
PUSH ESI
CALL 0x0002f760
ADD ESP,0x10
MOV EDI,EAX
MOV EDX,EAX
TEST EAX,EAX
JZ 0x000e3e60
MOVZX ECX,byte ptr [ESI]
LEA EAX,[EBX + 0x7afc]
MOV EAX,dword ptr [EAX]
CMP byte ptr [EAX],CL
JNZ 0x000e3e30
SUB ESP,0x4
PUSH EDX
PUSH EAX
PUSH ESI
CALL 0x0002fc30
ADD ESP,0x10
TEST EAX,EAX
JZ 0x000e3e60
LEA ESI,[ESI]
NOP
SUB ESP,0xc
PUSH ESI
CALL 0x000e1ec0
ADD ESP,0x10
LEA EAX,[EBX + 0x46ac]
CALL dword ptr [EAX]
SUB ESP,0x8
PUSH 0xa
PUSH 0x1
CALL 0x000e3460
ADD ESP,0x10
XOR EAX,EAX
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x8
PUSH EDI
PUSH 0x0
CALL 0x000e2550
ADD ESP,0x10
JMP 0x000e3e3c
TEST EAX,EAX
JZ 0x000e3e90
MOV ECX,0x23
MOV EDI,0x1
LEA ESI,[EBX + 0xfffa7beb]
MOV EDX,0x1
JMP 0x000e3e0d
LEA ESI,[EBX + 0xfffa7beb]
JMP 0x000e3e30
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nundefined4 rl_insert_comment(void)\n\n{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}\n\n" comment (function_definition "undefined4 rl_insert_comment(void)\n\n{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" type_identifier (function_declarator "rl_insert_comment(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" { (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (expression_statement "__s1 = _rl_comment_begin;" (assignment_expression "__s1 = _rl_comment_begin" identifier = identifier) ;) (expression_statement "rl_point = 0;" (assignment_expression "rl_point = 0" identifier = number_literal) ;) (if_statement "if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" if (parenthesized_expression "(_rl_comment_begin == (char *)0x0)" ( (binary_expression "_rl_comment_begin == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }" { (if_statement "if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" if (parenthesized_expression "(rl_explicit_arg == 0)" ( (binary_expression "rl_explicit_arg == 0" identifier == number_literal) )) (compound_statement "{\n      __s1 = "#";\n    }" { (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" identifier = (string_literal ""#"" " string_content ")) ;) }) (else_clause "else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" else (compound_statement "{\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" { (expression_statement "cVar2 = '#';" (assignment_expression "cVar2 = '#'" identifier = (char_literal "'#'" ' character ')) ;) (expression_statement "__n = 1;" (assignment_expression "__n = 1" identifier = number_literal) ;) (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" identifier = (string_literal ""#"" " string_content ")) ;) (labeled_statement "LAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" statement_identifier : (if_statement "if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" if (parenthesized_expression "((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))" ( (binary_expression "(*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" (parenthesized_expression "(*rl_line_buffer == cVar2)" ( (binary_expression "*rl_line_buffer == cVar2" (pointer_expression "*rl_line_buffer" * identifier) == identifier) )) && (parenthesized_expression "(iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" ( (comma_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0" (assignment_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n)" identifier = (call_expression "strncmp(__s1,rl_line_buffer,__n)" identifier (argument_list "(__s1,rl_line_buffer,__n)" ( identifier , identifier , identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e3e60;" goto statement_identifier ;))) }))) }) (else_clause "else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" else (if_statement "if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" if (parenthesized_expression "(rl_explicit_arg != 0)" ( (binary_expression "rl_explicit_arg != 0" identifier != number_literal) )) (compound_statement "{\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" { (expression_statement "__n = strlen(_rl_comment_begin);" (assignment_expression "__n = strlen(_rl_comment_begin)" identifier = (call_expression "strlen(_rl_comment_begin)" identifier (argument_list "(_rl_comment_begin)" ( identifier )))) ;) (if_statement "if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" if (parenthesized_expression "(__n != 0)" ( (binary_expression "__n != 0" identifier != number_literal) )) (compound_statement "{\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" { (expression_statement "cVar2 = *__s1;" (assignment_expression "cVar2 = *__s1" identifier = (pointer_expression "*__s1" * identifier)) ;) (goto_statement "goto LAB_000e3e0d;" goto statement_identifier ;) })) (labeled_statement "LAB_000e3e60:\n    rl_delete_text(0,__n);" statement_identifier : (expression_statement "rl_delete_text(0,__n);" (call_expression "rl_delete_text(0,__n)" identifier (argument_list "(0,__n)" ( number_literal , identifier ))) ;)) (goto_statement "goto LAB_000e3e3c;" goto statement_identifier ;) })))) (expression_statement "rl_insert_text(__s1);" (call_expression "rl_insert_text(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (labeled_statement "LAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();" statement_identifier : (expression_statement "(*(code *)rl_redisplay_function)();" (call_expression "(*(code *)rl_redisplay_function)()" (parenthesized_expression "(*(code *)rl_redisplay_function)" ( (pointer_expression "*(code *)rl_redisplay_function" * (cast_expression "(code *)rl_redisplay_function" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (expression_statement "rl_newline(1,10);" (call_expression "rl_newline(1,10)" identifier (argument_list "(1,10)" ( number_literal , number_literal ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention */\n\nint rl_insert_comment(int count,int key)\n\n{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}\n\n" comment comment (function_definition "int rl_insert_comment(int count,int key)\n\n{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" primitive_type (function_declarator "rl_insert_comment(int count,int key)" identifier (parameter_list "(int count,int key)" ( (parameter_declaration "int count" primitive_type identifier) , (parameter_declaration "int key" primitive_type identifier) ))) (compound_statement "{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" { (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (expression_statement "__s1 = _rl_comment_begin;" (assignment_expression "__s1 = _rl_comment_begin" identifier = identifier) ;) (expression_statement "rl_point = 0;" (assignment_expression "rl_point = 0" identifier = number_literal) ;) (if_statement "if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" if (parenthesized_expression "(_rl_comment_begin == (char *)0x0)" ( (binary_expression "_rl_comment_begin == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }" { (if_statement "if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" if (parenthesized_expression "(rl_explicit_arg == 0)" ( (binary_expression "rl_explicit_arg == 0" identifier == number_literal) )) (compound_statement "{\n      __s1 = "#";\n    }" { (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" identifier = (string_literal ""#"" " string_content ")) ;) }) (else_clause "else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" else (compound_statement "{\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" { (expression_statement "cVar2 = '#';" (assignment_expression "cVar2 = '#'" identifier = (char_literal "'#'" ' character ')) ;) (expression_statement "__n = 1;" (assignment_expression "__n = 1" identifier = number_literal) ;) (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" identifier = (string_literal ""#"" " string_content ")) ;) (labeled_statement "LAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" statement_identifier : (if_statement "if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" if (parenthesized_expression "((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))" ( (binary_expression "(*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" (parenthesized_expression "(*rl_line_buffer == cVar2)" ( (binary_expression "*rl_line_buffer == cVar2" (pointer_expression "*rl_line_buffer" * identifier) == identifier) )) && (parenthesized_expression "(iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" ( (comma_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0" (assignment_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n)" identifier = (call_expression "strncmp(__s1,rl_line_buffer,__n)" identifier (argument_list "(__s1,rl_line_buffer,__n)" ( identifier , identifier , identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e3e60;" goto statement_identifier ;))) }))) }) (else_clause "else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" else (if_statement "if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" if (parenthesized_expression "(rl_explicit_arg != 0)" ( (binary_expression "rl_explicit_arg != 0" identifier != number_literal) )) (compound_statement "{\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" { (expression_statement "__n = strlen(_rl_comment_begin);" (assignment_expression "__n = strlen(_rl_comment_begin)" identifier = (call_expression "strlen(_rl_comment_begin)" identifier (argument_list "(_rl_comment_begin)" ( identifier )))) ;) (if_statement "if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" if (parenthesized_expression "(__n != 0)" ( (binary_expression "__n != 0" identifier != number_literal) )) (compound_statement "{\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" { (expression_statement "cVar2 = *__s1;" (assignment_expression "cVar2 = *__s1" identifier = (pointer_expression "*__s1" * identifier)) ;) (goto_statement "goto LAB_000e3e0d;" goto statement_identifier ;) })) (labeled_statement "LAB_000e3e60:\n    rl_delete_text(0,__n);" statement_identifier : (expression_statement "rl_delete_text(0,__n);" (call_expression "rl_delete_text(0,__n)" identifier (argument_list "(0,__n)" ( number_literal , identifier ))) ;)) (goto_statement "goto LAB_000e3e3c;" goto statement_identifier ;) })))) (expression_statement "rl_insert_text(__s1);" (call_expression "rl_insert_text(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (labeled_statement "LAB_000e3e3c:\n  (*rl_redisplay_function)();" statement_identifier : (expression_statement "(*rl_redisplay_function)();" (call_expression "(*rl_redisplay_function)()" (parenthesized_expression "(*rl_redisplay_function)" ( (pointer_expression "*rl_redisplay_function" * identifier) )) (argument_list "()" ( ))) ;)) (expression_statement "rl_newline(1,10);" (call_expression "rl_newline(1,10)" identifier (argument_list "(1,10)" ( number_literal , number_literal ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit "undefined4 rl_insert_comment(void)\n\n{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}\n\n" (function_definition "undefined4 rl_insert_comment(void)\n\n{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" type_identifier (function_declarator "rl_insert_comment(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" { (declaration "size_t __n;" primitive_type identifier ;) (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "char *__s1;" primitive_type (pointer_declarator "*__s1" * identifier) ;) (expression_statement "__s1 = _rl_comment_begin;" (assignment_expression "__s1 = _rl_comment_begin" identifier = identifier) ;) (expression_statement "rl_point = 0;" (assignment_expression "rl_point = 0" identifier = number_literal) ;) (if_statement "if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" if (parenthesized_expression "(_rl_comment_begin == (char *)0x0)" ( (binary_expression "_rl_comment_begin == (char *)0x0" identifier == (cast_expression "(char *)0x0" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }" { (if_statement "if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" if (parenthesized_expression "(rl_explicit_arg == 0)" ( (binary_expression "rl_explicit_arg == 0" identifier == number_literal) )) (compound_statement "{\n      __s1 = "#";\n    }" { (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" identifier = (string_literal ""#"" " string_content ")) ;) }) (else_clause "else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" else (compound_statement "{\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" { (expression_statement "cVar2 = '#';" (assignment_expression "cVar2 = '#'" identifier = (char_literal "'#'" ' character ')) ;) (expression_statement "__n = 1;" (assignment_expression "__n = 1" identifier = number_literal) ;) (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" identifier = (string_literal ""#"" " string_content ")) ;) (labeled_statement "LAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" statement_identifier : (if_statement "if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" if (parenthesized_expression "((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))" ( (binary_expression "(*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" (parenthesized_expression "(*rl_line_buffer == cVar2)" ( (binary_expression "*rl_line_buffer == cVar2" (pointer_expression "*rl_line_buffer" * identifier) == identifier) )) && (parenthesized_expression "(iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" ( (comma_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0" (assignment_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n)" identifier = (call_expression "strncmp(__s1,rl_line_buffer,__n)" identifier (argument_list "(__s1,rl_line_buffer,__n)" ( identifier , identifier , identifier )))) , (binary_expression "iVar1 == 0" identifier == number_literal)) ))) )) (goto_statement "goto LAB_000e3e60;" goto statement_identifier ;))) }))) }) (else_clause "else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" else (if_statement "if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" if (parenthesized_expression "(rl_explicit_arg != 0)" ( (binary_expression "rl_explicit_arg != 0" identifier != number_literal) )) (compound_statement "{\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" { (expression_statement "__n = strlen(_rl_comment_begin);" (assignment_expression "__n = strlen(_rl_comment_begin)" identifier = (call_expression "strlen(_rl_comment_begin)" identifier (argument_list "(_rl_comment_begin)" ( identifier )))) ;) (if_statement "if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" if (parenthesized_expression "(__n != 0)" ( (binary_expression "__n != 0" identifier != number_literal) )) (compound_statement "{\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" { (expression_statement "cVar2 = *__s1;" (assignment_expression "cVar2 = *__s1" identifier = (pointer_expression "*__s1" * identifier)) ;) (goto_statement "goto LAB_000e3e0d;" goto statement_identifier ;) })) (labeled_statement "LAB_000e3e60:\n    rl_delete_text(0,__n);" statement_identifier : (expression_statement "rl_delete_text(0,__n);" (call_expression "rl_delete_text(0,__n)" identifier (argument_list "(0,__n)" ( number_literal , identifier ))) ;)) (goto_statement "goto LAB_000e3e3c;" goto statement_identifier ;) })))) (expression_statement "rl_insert_text(__s1);" (call_expression "rl_insert_text(__s1)" identifier (argument_list "(__s1)" ( identifier ))) ;) (labeled_statement "LAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();" statement_identifier : (expression_statement "(*(code *)rl_redisplay_function)();" (call_expression "(*(code *)rl_redisplay_function)()" (parenthesized_expression "(*(code *)rl_redisplay_function)" ( (pointer_expression "*(code *)rl_redisplay_function" * (cast_expression "(code *)rl_redisplay_function" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;)) (expression_statement "rl_newline(1,10);" (call_expression "rl_newline(1,10)" identifier (argument_list "(1,10)" ( number_literal , number_literal ))) ;) (return_statement "return 0;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE (pointer_declarator * IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) }) (else_clause else (compound_statement { (expression_statement (assignment_expression IDENT = (char_literal ' character ')) ;) (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (assignment_expression IDENT = (string_literal " string_content ")) ;) (labeled_statement statement_identifier : (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == IDENT) )) && (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT )))) , (binary_expression IDENT == LIT)) ))) )) (goto_statement goto statement_identifier ;))) }))) }) (else_clause else (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * IDENT)) ;) (goto_statement goto statement_identifier ;) })) (labeled_statement statement_identifier : (expression_statement (call_expression IDENT (argument_list ( LIT , IDENT ))) ;)) (goto_statement goto statement_identifier ;) })))) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (labeled_statement statement_identifier : (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;)) (expression_statement (call_expression IDENT (argument_list ( LIT , LIT ))) ;) (return_statement return LIT ;) })))
(function_definition "undefined4 rl_insert_comment(void)\n\n{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" (type_identifier "undefined4") (function_declarator "rl_insert_comment(void)" (identifier "rl_insert_comment") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  size_t __n;\n  int iVar1;\n  char cVar2;\n  char *__s1;\n  \n  __s1 = _rl_comment_begin;\n  rl_point = 0;\n  if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }\n  rl_insert_text(__s1);\nLAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();\n  rl_newline(1,10);\n  return 0;\n}" ({ "{") (declaration "size_t __n;" (primitive_type "size_t") (identifier "__n") (; ";")) (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "char *__s1;" (primitive_type "char") (pointer_declarator "*__s1" (* "*") (identifier "__s1")) (; ";")) (expression_statement "__s1 = _rl_comment_begin;" (assignment_expression "__s1 = _rl_comment_begin" (identifier "__s1") (= "=") (identifier "_rl_comment_begin")) (; ";")) (expression_statement "rl_point = 0;" (assignment_expression "rl_point = 0" (identifier "rl_point") (= "=") (number_literal "0")) (; ";")) (if_statement "if (_rl_comment_begin == (char *)0x0) {\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }\n  else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" (if "if") (parenthesized_expression "(_rl_comment_begin == (char *)0x0)" (( "(") (binary_expression "_rl_comment_begin == (char *)0x0" (identifier "_rl_comment_begin") (== "==") (cast_expression "(char *)0x0" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) () ")")) (compound_statement "{\n    if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }\n  }" ({ "{") (if_statement "if (rl_explicit_arg == 0) {\n      __s1 = "#";\n    }\n    else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" (if "if") (parenthesized_expression "(rl_explicit_arg == 0)" (( "(") (binary_expression "rl_explicit_arg == 0" (identifier "rl_explicit_arg") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n      __s1 = "#";\n    }" ({ "{") (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" (identifier "__s1") (= "=") (string_literal ""#"" (" """) (string_content "#") (" """))) (; ";")) (} "}")) (else_clause "else {\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" (else "else") (compound_statement "{\n      cVar2 = '#';\n      __n = 1;\n      __s1 = "#";\nLAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;\n    }" ({ "{") (expression_statement "cVar2 = '#';" (assignment_expression "cVar2 = '#'" (identifier "cVar2") (= "=") (char_literal "'#'" (' "'") (character "#") (' "'"))) (; ";")) (expression_statement "__n = 1;" (assignment_expression "__n = 1" (identifier "__n") (= "=") (number_literal "1")) (; ";")) (expression_statement "__s1 = "#";" (assignment_expression "__s1 = "#"" (identifier "__s1") (= "=") (string_literal ""#"" (" """) (string_content "#") (" """))) (; ";")) (labeled_statement "LAB_000e3e0d:\n      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" (statement_identifier "LAB_000e3e0d") (: ":") (if_statement "if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))\n      goto LAB_000e3e60;" (if "if") (parenthesized_expression "((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))" (( "(") (binary_expression "(*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" (parenthesized_expression "(*rl_line_buffer == cVar2)" (( "(") (binary_expression "*rl_line_buffer == cVar2" (pointer_expression "*rl_line_buffer" (* "*") (identifier "rl_line_buffer")) (== "==") (identifier "cVar2")) () ")")) (&& "&&") (parenthesized_expression "(iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0)" (( "(") (comma_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0" (assignment_expression "iVar1 = strncmp(__s1,rl_line_buffer,__n)" (identifier "iVar1") (= "=") (call_expression "strncmp(__s1,rl_line_buffer,__n)" (identifier "strncmp") (argument_list "(__s1,rl_line_buffer,__n)" (( "(") (identifier "__s1") (, ",") (identifier "rl_line_buffer") (, ",") (identifier "__n") () ")")))) (, ",") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0"))) () ")"))) () ")")) (goto_statement "goto LAB_000e3e60;" (goto "goto") (statement_identifier "LAB_000e3e60") (; ";")))) (} "}")))) (} "}")) (else_clause "else if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" (else "else") (if_statement "if (rl_explicit_arg != 0) {\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" (if "if") (parenthesized_expression "(rl_explicit_arg != 0)" (( "(") (binary_expression "rl_explicit_arg != 0" (identifier "rl_explicit_arg") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    __n = strlen(_rl_comment_begin);\n    if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }\nLAB_000e3e60:\n    rl_delete_text(0,__n);\n    goto LAB_000e3e3c;\n  }" ({ "{") (expression_statement "__n = strlen(_rl_comment_begin);" (assignment_expression "__n = strlen(_rl_comment_begin)" (identifier "__n") (= "=") (call_expression "strlen(_rl_comment_begin)" (identifier "strlen") (argument_list "(_rl_comment_begin)" (( "(") (identifier "_rl_comment_begin") () ")")))) (; ";")) (if_statement "if (__n != 0) {\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" (if "if") (parenthesized_expression "(__n != 0)" (( "(") (binary_expression "__n != 0" (identifier "__n") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      cVar2 = *__s1;\n      goto LAB_000e3e0d;\n    }" ({ "{") (expression_statement "cVar2 = *__s1;" (assignment_expression "cVar2 = *__s1" (identifier "cVar2") (= "=") (pointer_expression "*__s1" (* "*") (identifier "__s1"))) (; ";")) (goto_statement "goto LAB_000e3e0d;" (goto "goto") (statement_identifier "LAB_000e3e0d") (; ";")) (} "}"))) (labeled_statement "LAB_000e3e60:\n    rl_delete_text(0,__n);" (statement_identifier "LAB_000e3e60") (: ":") (expression_statement "rl_delete_text(0,__n);" (call_expression "rl_delete_text(0,__n)" (identifier "rl_delete_text") (argument_list "(0,__n)" (( "(") (number_literal "0") (, ",") (identifier "__n") () ")"))) (; ";"))) (goto_statement "goto LAB_000e3e3c;" (goto "goto") (statement_identifier "LAB_000e3e3c") (; ";")) (} "}"))))) (expression_statement "rl_insert_text(__s1);" (call_expression "rl_insert_text(__s1)" (identifier "rl_insert_text") (argument_list "(__s1)" (( "(") (identifier "__s1") () ")"))) (; ";")) (labeled_statement "LAB_000e3e3c:\n  (*(code *)rl_redisplay_function)();" (statement_identifier "LAB_000e3e3c") (: ":") (expression_statement "(*(code *)rl_redisplay_function)();" (call_expression "(*(code *)rl_redisplay_function)()" (parenthesized_expression "(*(code *)rl_redisplay_function)" (( "(") (pointer_expression "*(code *)rl_redisplay_function" (* "*") (cast_expression "(code *)rl_redisplay_function" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "rl_redisplay_function"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";"))) (expression_statement "rl_newline(1,10);" (call_expression "rl_newline(1,10)" (identifier "rl_newline") (argument_list "(1,10)" (( "(") (number_literal "1") (, ",") (number_literal "10") () ")"))) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}")))

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

int function_1(int count,int key)

{
  size_t var_7;
  int var_5;
  char var_3;
  char *__s1;
  
  __s1 = var_1;
  rl_point = 0;
  if (var_1 == (char *)0x0) {
    if (var_2 == 0) {
      __s1 = "#";
    }
    else {
      var_3 = '#';
      var_7 = 1;
      __s1 = "#";
LAB_000e3e0d:
      if ((*rl_line_buffer == var_3) && (var_5 = var_4(__s1,rl_line_buffer,var_7), var_5 == 0))
      goto LAB_000e3e60;
    }
  }
  else if (var_2 != 0) {
    var_7 = var_6(var_1);
    if (var_7 != 0) {
      var_3 = *__s1;
      goto LAB_000e3e0d;
    }
LAB_000e3e60:
    var_8(0,var_7);
    goto LAB_000e3e3c;
  }
  var_9(__s1);
LAB_000e3e3c:
  (*rl_redisplay_function)();
  var_10(1,10);
  return 0;
}


(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: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (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 (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content))))) alternative: (else_clause (compound_statement (expression_statement (assignment_expression left: (identifier) right: (char_literal (character)))) (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (expression_statement (assignment_expression left: (identifier) right: (string_literal (string_content)))) (labeled_statement label: (statement_identifier) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (identifier))) right: (parenthesized_expression (comma_expression left: (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier)))) right: (binary_expression left: (identifier) right: (number_literal)))))) consequence: (goto_statement label: (statement_identifier)))))))) alternative: (else_clause (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list (identifier))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (identifier)))) (goto_statement label: (statement_identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (identifier))))) (goto_statement label: (statement_identifier)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier)))) (labeled_statement label: (statement_identifier) (expression_statement (call_expression function: (parenthesized_expression (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (identifier)))) arguments: (argument_list)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list (number_literal) (number_literal)))) (return_statement (number_literal)))))

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

undefined4 MASKED(void)

{
  size_t __n;
  int iVar1;
  char cVar2;
  char *__s1;
  
  __s1 = _rl_comment_begin;
  rl_point = 0;
  if (_rl_comment_begin == (char *)0x0) {
    if (rl_explicit_arg == 0) {
      __s1 = "#";
    }
    else {
      cVar2 = '#';
      __n = 1;
      __s1 = "#";
LAB_000e3e0d:
      if ((*rl_line_buffer == cVar2) && (iVar1 = strncmp(__s1,rl_line_buffer,__n), iVar1 == 0))
      goto LAB_000e3e60;
    }
  }
  else if (rl_explicit_arg != 0) {
    __n = strlen(_rl_comment_begin);
    if (__n != 0) {
      cVar2 = *__s1;
      goto LAB_000e3e0d;
    }
LAB_000e3e60:
    rl_delete_text(0,__n);
    goto LAB_000e3e3c;
  }
  rl_insert_text(__s1);
LAB_000e3e3c:
  (*(code *)rl_redisplay_function)();
  rl_newline(1,10);
  return 0;
}

