
/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void do_findprevious(void)

{
  filestruct *pfVar1;
  _Bool _Var2;
  char *msg;
  
  flags[0] = flags[0] | 0x1000;
  if ((*last_search == '\0') &&
     ((searchbot->prev == (filestruct *)0x0 ||
      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')))) {
    msg = (char *)dcgettext(0,"No current search pattern",5);
    statusbar(msg);
    return;
  }
  if (((flags[0] & 0x200) == 0) || (_Var2 = regexp_init(last_search), _Var2)) {
    currmenu = 2;
    go_looking();
    if (have_compiled_regexp == false) {
      pfVar1 = openfile->mark;
    }
    else {
      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);
      pfVar1 = openfile->mark;
    }
    have_compiled_regexp = false;
    if (pfVar1 != (filestruct *)0x0) {
      refresh_needed = true;
    }
  }
  return;
}



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

void FUN_00033c70(void)

{
  int iVar1;
  char cVar2;
  undefined4 uVar3;
  
  DAT_0007b664 = DAT_0007b664 | 0x1000;
  if ((*DAT_0007b678 == '\0') &&
     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||
      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),
      *DAT_0007b678 == '\0')))) {
    uVar3 = dcgettext(0,"No current search pattern",5);
    FUN_00041580(uVar3);
    return;
  }
  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {
    DAT_0007b064 = 2;
    FUN_00033ac0();
    if (DAT_0007b880 == '\0') {
      iVar1 = *(int *)(DAT_0007b640 + 0x30);
    }
    else {
      FUN_00058d90(PTR_DAT_0007aed0);
      iVar1 = *(int *)(DAT_0007b640 + 0x30);
    }
    DAT_0007b880 = '\0';
    if (iVar1 != 0) {
      DAT_0007b604 = 1;
    }
  }
  return;
}


PUSH EDI
PUSH ESI
PUSH EBX
CALL 0x00015680
ADD EBX,0x46f58
LEA ESI,[EBX + 0xa94]
LEA EDI,[EBX + 0xaa8]
MOV EDX,dword ptr [ESI]
MOV EAX,dword ptr [EDI]
OR DH,0x10
MOV dword ptr [ESI],EDX
CMP byte ptr [EAX],0x0
JNZ 0x00033cbe
LEA EDX,[EBX + 0xa18]
MOV EDX,dword ptr [EDX]
MOV EDX,dword ptr [EDX + 0xc]
TEST EDX,EDX
JZ 0x00033d10
SUB ESP,0x8
PUSH dword ptr [EDX]
PUSH EAX
CALL 0x0003dbd0
ADD ESP,0x10
MOV dword ptr [EDI],EAX
CMP byte ptr [EAX],0x0
JZ 0x00033d10
MOV EDX,dword ptr [ESI]
AND DH,0x2
JZ 0x00033cd3
SUB ESP,0xc
PUSH EAX
CALL 0x000334d0
ADD ESP,0x10
TEST AL,AL
JZ 0x00033d05
LEA EAX,[EBX + 0x494]
MOV dword ptr [EAX],0x2
CALL 0x00033ac0
CMP byte ptr [EBX + 0xcb0],0x0
JNZ 0x00033d38
LEA EAX,[EBX + 0xa70]
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x30]
TEST EAX,EAX
JZ 0x00033d05
LEA EAX,[EBX + 0xa34]
MOV byte ptr [EAX],0x1
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0x4
LEA EAX,[EBX + 0xfffe04c6]
PUSH 0x5
PUSH EAX
PUSH 0x0
CALL 0x000132e0
MOV dword ptr [ESP],EAX
CALL 0x00041580
ADD ESP,0x10
POP EBX
POP ESI
POP EDI
RET
SUB ESP,0xc
PUSH dword ptr [EBX + 0x300]
CALL 0x00058d90
LEA EAX,[EBX + 0xa70]
MOV byte ptr [EBX + 0xcb0],0x0
ADD ESP,0x10
MOV EAX,dword ptr [EAX]
MOV EAX,dword ptr [EAX + 0x30]
TEST EAX,EAX
JNZ 0x00033cfc
JMP 0x00033d05
(translation_unit "/* WARNING: Function: __i686.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n\nvoid FUN_00033c70(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}\n\n" comment (function_definition "void FUN_00033c70(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00033c70(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (expression_statement "DAT_0007b664 = DAT_0007b664 | 0x1000;" (assignment_expression "DAT_0007b664 = DAT_0007b664 | 0x1000" identifier = (binary_expression "DAT_0007b664 | 0x1000" identifier | number_literal)) ;) (if_statement "if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }" if (parenthesized_expression "((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'))))" ( (binary_expression "(*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))" (parenthesized_expression "(*DAT_0007b678 == '\0')" ( (binary_expression "*DAT_0007b678 == '\0'" (pointer_expression "*DAT_0007b678" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))" ( (parenthesized_expression "(*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'))" ( (binary_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')" (binary_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc)" * (cast_expression "(undefined4 **)(DAT_0007b5e8 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0007b5e8 + 0xc)" ( (binary_expression "DAT_0007b5e8 + 0xc" identifier + number_literal) )))) == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')" ( (comma_expression "DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'" (assignment_expression "DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" identifier = (cast_expression "(char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" identifier (argument_list "(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" ( identifier , (pointer_expression "**(undefined4 **)(DAT_0007b5e8 + 0xc)" * (pointer_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc)" * (cast_expression "(undefined4 **)(DAT_0007b5e8 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0007b5e8 + 0xc)" ( (binary_expression "DAT_0007b5e8 + 0xc" identifier + number_literal) ))))) ))))) , (binary_expression "*DAT_0007b678 == '\0'" (pointer_expression "*DAT_0007b678" * identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) (compound_statement "{\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }" { (expression_statement "uVar3 = dcgettext(0,"No current search pattern",5);" (assignment_expression "uVar3 = dcgettext(0,"No current search pattern",5)" identifier = (call_expression "dcgettext(0,"No current search pattern",5)" identifier (argument_list "(0,"No current search pattern",5)" ( number_literal , (string_literal ""No current search pattern"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00041580(uVar3);" (call_expression "FUN_00041580(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }" if (parenthesized_expression "(((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0'))" ( (binary_expression "((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')" (parenthesized_expression "((DAT_0007b664 & 0x200) == 0)" ( (binary_expression "(DAT_0007b664 & 0x200) == 0" (parenthesized_expression "(DAT_0007b664 & 0x200)" ( (binary_expression "DAT_0007b664 & 0x200" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')" ( (comma_expression "cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_000334d0(DAT_0007b678)" identifier = (call_expression "FUN_000334d0(DAT_0007b678)" identifier (argument_list "(DAT_0007b678)" ( identifier )))) , (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }" { (expression_statement "DAT_0007b064 = 2;" (assignment_expression "DAT_0007b064 = 2" identifier = number_literal) ;) (expression_statement "FUN_00033ac0();" (call_expression "FUN_00033ac0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" if (parenthesized_expression "(DAT_0007b880 == '\0')" ( (binary_expression "DAT_0007b880 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" { (expression_statement "iVar1 = *(int *)(DAT_0007b640 + 0x30);" (assignment_expression "iVar1 = *(int *)(DAT_0007b640 + 0x30)" identifier = (pointer_expression "*(int *)(DAT_0007b640 + 0x30)" * (cast_expression "(int *)(DAT_0007b640 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0007b640 + 0x30)" ( (binary_expression "DAT_0007b640 + 0x30" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" else (compound_statement "{\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" { (expression_statement "FUN_00058d90(PTR_DAT_0007aed0);" (call_expression "FUN_00058d90(PTR_DAT_0007aed0)" identifier (argument_list "(PTR_DAT_0007aed0)" ( identifier ))) ;) (expression_statement "iVar1 = *(int *)(DAT_0007b640 + 0x30);" (assignment_expression "iVar1 = *(int *)(DAT_0007b640 + 0x30)" identifier = (pointer_expression "*(int *)(DAT_0007b640 + 0x30)" * (cast_expression "(int *)(DAT_0007b640 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0007b640 + 0x30)" ( (binary_expression "DAT_0007b640 + 0x30" identifier + number_literal) ))))) ;) }))) (expression_statement "DAT_0007b880 = '\0';" (assignment_expression "DAT_0007b880 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      DAT_0007b604 = 1;\n    }" { (expression_statement "DAT_0007b604 = 1;" (assignment_expression "DAT_0007b604 = 1" identifier = number_literal) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */\n/* WARNING: Unknown calling convention -- yet parameter storage is locked */\n\nvoid do_findprevious(void)\n\n{\n  filestruct *pfVar1;\n  _Bool _Var2;\n  char *msg;\n  \n  flags[0] = flags[0] | 0x1000;\n  if ((*last_search == '\0') &&\n     ((searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')))) {\n    msg = (char *)dcgettext(0,"No current search pattern",5);\n    statusbar(msg);\n    return;\n  }\n  if (((flags[0] & 0x200) == 0) || (_Var2 = regexp_init(last_search), _Var2)) {\n    currmenu = 2;\n    go_looking();\n    if (have_compiled_regexp == false) {\n      pfVar1 = openfile->mark;\n    }\n    else {\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }\n    have_compiled_regexp = false;\n    if (pfVar1 != (filestruct *)0x0) {\n      refresh_needed = true;\n    }\n  }\n  return;\n}\n\n" comment comment (function_definition "void do_findprevious(void)\n\n{\n  filestruct *pfVar1;\n  _Bool _Var2;\n  char *msg;\n  \n  flags[0] = flags[0] | 0x1000;\n  if ((*last_search == '\0') &&\n     ((searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')))) {\n    msg = (char *)dcgettext(0,"No current search pattern",5);\n    statusbar(msg);\n    return;\n  }\n  if (((flags[0] & 0x200) == 0) || (_Var2 = regexp_init(last_search), _Var2)) {\n    currmenu = 2;\n    go_looking();\n    if (have_compiled_regexp == false) {\n      pfVar1 = openfile->mark;\n    }\n    else {\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }\n    have_compiled_regexp = false;\n    if (pfVar1 != (filestruct *)0x0) {\n      refresh_needed = true;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "do_findprevious(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  filestruct *pfVar1;\n  _Bool _Var2;\n  char *msg;\n  \n  flags[0] = flags[0] | 0x1000;\n  if ((*last_search == '\0') &&\n     ((searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')))) {\n    msg = (char *)dcgettext(0,"No current search pattern",5);\n    statusbar(msg);\n    return;\n  }\n  if (((flags[0] & 0x200) == 0) || (_Var2 = regexp_init(last_search), _Var2)) {\n    currmenu = 2;\n    go_looking();\n    if (have_compiled_regexp == false) {\n      pfVar1 = openfile->mark;\n    }\n    else {\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }\n    have_compiled_regexp = false;\n    if (pfVar1 != (filestruct *)0x0) {\n      refresh_needed = true;\n    }\n  }\n  return;\n}" { (declaration "filestruct *pfVar1;" type_identifier (pointer_declarator "*pfVar1" * identifier) ;) (declaration "_Bool _Var2;" type_identifier identifier ;) (declaration "char *msg;" primitive_type (pointer_declarator "*msg" * identifier) ;) (expression_statement "flags[0] = flags[0] | 0x1000;" (assignment_expression "flags[0] = flags[0] | 0x1000" (subscript_expression "flags[0]" identifier [ number_literal ]) = (binary_expression "flags[0] | 0x1000" (subscript_expression "flags[0]" identifier [ number_literal ]) | number_literal)) ;) (if_statement "if ((*last_search == '\0') &&\n     ((searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')))) {\n    msg = (char *)dcgettext(0,"No current search pattern",5);\n    statusbar(msg);\n    return;\n  }" if (parenthesized_expression "((*last_search == '\0') &&\n     ((searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0'))))" ( (binary_expression "(*last_search == '\0') &&\n     ((searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')))" (parenthesized_expression "(*last_search == '\0')" ( (binary_expression "*last_search == '\0'" (pointer_expression "*last_search" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')))" ( (parenthesized_expression "(searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0'))" ( (binary_expression "searchbot->prev == (filestruct *)0x0 ||\n      (last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')" (binary_expression "searchbot->prev == (filestruct *)0x0" (field_expression "searchbot->prev" identifier -> field_identifier) == (cast_expression "(filestruct *)0x0" ( (type_descriptor "filestruct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0')" ( (comma_expression "last_search = mallocstrcpy(last_search,searchbot->prev->data), *last_search == '\0'" (assignment_expression "last_search = mallocstrcpy(last_search,searchbot->prev->data)" identifier = (call_expression "mallocstrcpy(last_search,searchbot->prev->data)" identifier (argument_list "(last_search,searchbot->prev->data)" ( identifier , (field_expression "searchbot->prev->data" (field_expression "searchbot->prev" identifier -> field_identifier) -> field_identifier) )))) , (binary_expression "*last_search == '\0'" (pointer_expression "*last_search" * identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) (compound_statement "{\n    msg = (char *)dcgettext(0,"No current search pattern",5);\n    statusbar(msg);\n    return;\n  }" { (expression_statement "msg = (char *)dcgettext(0,"No current search pattern",5);" (assignment_expression "msg = (char *)dcgettext(0,"No current search pattern",5)" identifier = (cast_expression "(char *)dcgettext(0,"No current search pattern",5)" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "dcgettext(0,"No current search pattern",5)" identifier (argument_list "(0,"No current search pattern",5)" ( number_literal , (string_literal ""No current search pattern"" " string_content ") , number_literal ))))) ;) (expression_statement "statusbar(msg);" (call_expression "statusbar(msg)" identifier (argument_list "(msg)" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (((flags[0] & 0x200) == 0) || (_Var2 = regexp_init(last_search), _Var2)) {\n    currmenu = 2;\n    go_looking();\n    if (have_compiled_regexp == false) {\n      pfVar1 = openfile->mark;\n    }\n    else {\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }\n    have_compiled_regexp = false;\n    if (pfVar1 != (filestruct *)0x0) {\n      refresh_needed = true;\n    }\n  }" if (parenthesized_expression "(((flags[0] & 0x200) == 0) || (_Var2 = regexp_init(last_search), _Var2))" ( (binary_expression "((flags[0] & 0x200) == 0) || (_Var2 = regexp_init(last_search), _Var2)" (parenthesized_expression "((flags[0] & 0x200) == 0)" ( (binary_expression "(flags[0] & 0x200) == 0" (parenthesized_expression "(flags[0] & 0x200)" ( (binary_expression "flags[0] & 0x200" (subscript_expression "flags[0]" identifier [ number_literal ]) & number_literal) )) == number_literal) )) || (parenthesized_expression "(_Var2 = regexp_init(last_search), _Var2)" ( (comma_expression "_Var2 = regexp_init(last_search), _Var2" (assignment_expression "_Var2 = regexp_init(last_search)" identifier = (call_expression "regexp_init(last_search)" identifier (argument_list "(last_search)" ( identifier )))) , identifier) ))) )) (compound_statement "{\n    currmenu = 2;\n    go_looking();\n    if (have_compiled_regexp == false) {\n      pfVar1 = openfile->mark;\n    }\n    else {\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }\n    have_compiled_regexp = false;\n    if (pfVar1 != (filestruct *)0x0) {\n      refresh_needed = true;\n    }\n  }" { (expression_statement "currmenu = 2;" (assignment_expression "currmenu = 2" identifier = number_literal) ;) (expression_statement "go_looking();" (call_expression "go_looking()" identifier (argument_list "()" ( ))) ;) (if_statement "if (have_compiled_regexp == false) {\n      pfVar1 = openfile->mark;\n    }\n    else {\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }" if (parenthesized_expression "(have_compiled_regexp == false)" ( (binary_expression "have_compiled_regexp == false" identifier == false) )) (compound_statement "{\n      pfVar1 = openfile->mark;\n    }" { (expression_statement "pfVar1 = openfile->mark;" (assignment_expression "pfVar1 = openfile->mark" identifier = (field_expression "openfile->mark" identifier -> field_identifier)) ;) }) (else_clause "else {\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }" else (compound_statement "{\n      rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);\n      pfVar1 = openfile->mark;\n    }" { (expression_statement "rpl_regfree((regex_t *)PTR_search_regexp_0007aed0);" (call_expression "rpl_regfree((regex_t *)PTR_search_regexp_0007aed0)" identifier (argument_list "((regex_t *)PTR_search_regexp_0007aed0)" ( (cast_expression "(regex_t *)PTR_search_regexp_0007aed0" ( (type_descriptor "regex_t *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) ))) ;) (expression_statement "pfVar1 = openfile->mark;" (assignment_expression "pfVar1 = openfile->mark" identifier = (field_expression "openfile->mark" identifier -> field_identifier)) ;) }))) (expression_statement "have_compiled_regexp = false;" (assignment_expression "have_compiled_regexp = false" identifier = false) ;) (if_statement "if (pfVar1 != (filestruct *)0x0) {\n      refresh_needed = true;\n    }" if (parenthesized_expression "(pfVar1 != (filestruct *)0x0)" ( (binary_expression "pfVar1 != (filestruct *)0x0" identifier != (cast_expression "(filestruct *)0x0" ( (type_descriptor "filestruct *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n      refresh_needed = true;\n    }" { (expression_statement "refresh_needed = true;" (assignment_expression "refresh_needed = true" identifier = true) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit "void FUN_00033c70(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}\n\n" (function_definition "void FUN_00033c70(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}" primitive_type (function_declarator "FUN_00033c70(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "char cVar2;" primitive_type identifier ;) (declaration "undefined4 uVar3;" type_identifier identifier ;) (expression_statement "DAT_0007b664 = DAT_0007b664 | 0x1000;" (assignment_expression "DAT_0007b664 = DAT_0007b664 | 0x1000" identifier = (binary_expression "DAT_0007b664 | 0x1000" identifier | number_literal)) ;) (if_statement "if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }" if (parenthesized_expression "((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'))))" ( (binary_expression "(*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))" (parenthesized_expression "(*DAT_0007b678 == '\0')" ( (binary_expression "*DAT_0007b678 == '\0'" (pointer_expression "*DAT_0007b678" * identifier) == (char_literal "'\0'" ' escape_sequence ')) )) && (parenthesized_expression "((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))" ( (parenthesized_expression "(*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'))" ( (binary_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')" (binary_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc)" * (cast_expression "(undefined4 **)(DAT_0007b5e8 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0007b5e8 + 0xc)" ( (binary_expression "DAT_0007b5e8 + 0xc" identifier + number_literal) )))) == (cast_expression "(undefined4 *)0x0" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) || (parenthesized_expression "(DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')" ( (comma_expression "DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'" (assignment_expression "DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" identifier = (cast_expression "(char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" ( (type_descriptor "char *" primitive_type (abstract_pointer_declarator "*" *)) ) (call_expression "FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" identifier (argument_list "(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" ( identifier , (pointer_expression "**(undefined4 **)(DAT_0007b5e8 + 0xc)" * (pointer_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc)" * (cast_expression "(undefined4 **)(DAT_0007b5e8 + 0xc)" ( (type_descriptor "undefined4 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "(DAT_0007b5e8 + 0xc)" ( (binary_expression "DAT_0007b5e8 + 0xc" identifier + number_literal) ))))) ))))) , (binary_expression "*DAT_0007b678 == '\0'" (pointer_expression "*DAT_0007b678" * identifier) == (char_literal "'\0'" ' escape_sequence '))) ))) )) ))) )) (compound_statement "{\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }" { (expression_statement "uVar3 = dcgettext(0,"No current search pattern",5);" (assignment_expression "uVar3 = dcgettext(0,"No current search pattern",5)" identifier = (call_expression "dcgettext(0,"No current search pattern",5)" identifier (argument_list "(0,"No current search pattern",5)" ( number_literal , (string_literal ""No current search pattern"" " string_content ") , number_literal )))) ;) (expression_statement "FUN_00041580(uVar3);" (call_expression "FUN_00041580(uVar3)" identifier (argument_list "(uVar3)" ( identifier ))) ;) (return_statement "return;" return ;) })) (if_statement "if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }" if (parenthesized_expression "(((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0'))" ( (binary_expression "((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')" (parenthesized_expression "((DAT_0007b664 & 0x200) == 0)" ( (binary_expression "(DAT_0007b664 & 0x200) == 0" (parenthesized_expression "(DAT_0007b664 & 0x200)" ( (binary_expression "DAT_0007b664 & 0x200" identifier & number_literal) )) == number_literal) )) || (parenthesized_expression "(cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')" ( (comma_expression "cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_000334d0(DAT_0007b678)" identifier = (call_expression "FUN_000334d0(DAT_0007b678)" identifier (argument_list "(DAT_0007b678)" ( identifier )))) , (binary_expression "cVar2 != '\0'" identifier != (char_literal "'\0'" ' escape_sequence '))) ))) )) (compound_statement "{\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }" { (expression_statement "DAT_0007b064 = 2;" (assignment_expression "DAT_0007b064 = 2" identifier = number_literal) ;) (expression_statement "FUN_00033ac0();" (call_expression "FUN_00033ac0()" identifier (argument_list "()" ( ))) ;) (if_statement "if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" if (parenthesized_expression "(DAT_0007b880 == '\0')" ( (binary_expression "DAT_0007b880 == '\0'" identifier == (char_literal "'\0'" ' escape_sequence ')) )) (compound_statement "{\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" { (expression_statement "iVar1 = *(int *)(DAT_0007b640 + 0x30);" (assignment_expression "iVar1 = *(int *)(DAT_0007b640 + 0x30)" identifier = (pointer_expression "*(int *)(DAT_0007b640 + 0x30)" * (cast_expression "(int *)(DAT_0007b640 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0007b640 + 0x30)" ( (binary_expression "DAT_0007b640 + 0x30" identifier + number_literal) ))))) ;) }) (else_clause "else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" else (compound_statement "{\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" { (expression_statement "FUN_00058d90(PTR_DAT_0007aed0);" (call_expression "FUN_00058d90(PTR_DAT_0007aed0)" identifier (argument_list "(PTR_DAT_0007aed0)" ( identifier ))) ;) (expression_statement "iVar1 = *(int *)(DAT_0007b640 + 0x30);" (assignment_expression "iVar1 = *(int *)(DAT_0007b640 + 0x30)" identifier = (pointer_expression "*(int *)(DAT_0007b640 + 0x30)" * (cast_expression "(int *)(DAT_0007b640 + 0x30)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(DAT_0007b640 + 0x30)" ( (binary_expression "DAT_0007b640 + 0x30" identifier + number_literal) ))))) ;) }))) (expression_statement "DAT_0007b880 = '\0';" (assignment_expression "DAT_0007b880 = '\0'" identifier = (char_literal "'\0'" ' escape_sequence ')) ;) (if_statement "if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n      DAT_0007b604 = 1;\n    }" { (expression_statement "DAT_0007b604 = 1;" (assignment_expression "DAT_0007b604 = 1" identifier = number_literal) ;) })) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (binary_expression IDENT | LIT)) ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence ')) )) && (parenthesized_expression ( (parenthesized_expression ( (binary_expression (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) == (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) LIT)) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (call_expression IDENT (argument_list ( IDENT , (pointer_expression * (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator * (abstract_pointer_declarator *))) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ))))) , (binary_expression (pointer_expression * IDENT) == (char_literal ' escape_sequence '))) ))) )) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT , (string_literal " string_content ") , LIT )))) ;) (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (return_statement return ;) })) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression IDENT & LIT) )) == LIT) )) || (parenthesized_expression ( (comma_expression (assignment_expression IDENT = (call_expression IDENT (argument_list ( IDENT )))) , (binary_expression IDENT != (char_literal ' escape_sequence '))) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (char_literal ' escape_sequence ')) )) (compound_statement { (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }) (else_clause else (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT ))) ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) ))))) ;) }))) (expression_statement (assignment_expression IDENT = (char_literal ' escape_sequence ')) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) })) })) (return_statement return ;) })))
(function_definition "void FUN_00033c70(void)\n\n{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}" (primitive_type "void") (function_declarator "FUN_00033c70(void)" (identifier "FUN_00033c70") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  int iVar1;\n  char cVar2;\n  undefined4 uVar3;\n  \n  DAT_0007b664 = DAT_0007b664 | 0x1000;\n  if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }\n  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "char cVar2;" (primitive_type "char") (identifier "cVar2") (; ";")) (declaration "undefined4 uVar3;" (type_identifier "undefined4") (identifier "uVar3") (; ";")) (expression_statement "DAT_0007b664 = DAT_0007b664 | 0x1000;" (assignment_expression "DAT_0007b664 = DAT_0007b664 | 0x1000" (identifier "DAT_0007b664") (= "=") (binary_expression "DAT_0007b664 | 0x1000" (identifier "DAT_0007b664") (| "|") (number_literal "0x1000"))) (; ";")) (if_statement "if ((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))) {\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }" (if "if") (parenthesized_expression "((*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'))))" (( "(") (binary_expression "(*DAT_0007b678 == '\0') &&\n     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))" (parenthesized_expression "(*DAT_0007b678 == '\0')" (( "(") (binary_expression "*DAT_0007b678 == '\0'" (pointer_expression "*DAT_0007b678" (* "*") (identifier "DAT_0007b678")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (&& "&&") (parenthesized_expression "((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')))" (( "(") (parenthesized_expression "(*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'))" (( "(") (binary_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||\n      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')" (binary_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0" (pointer_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc)" (* "*") (cast_expression "(undefined4 **)(DAT_0007b5e8 + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_0007b5e8 + 0xc)" (( "(") (binary_expression "DAT_0007b5e8 + 0xc" (identifier "DAT_0007b5e8") (+ "+") (number_literal "0xc")) () ")")))) (== "==") (cast_expression "(undefined4 *)0x0" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (number_literal "0x0"))) (|| "||") (parenthesized_expression "(DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0')" (( "(") (comma_expression "DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),\n      *DAT_0007b678 == '\0'" (assignment_expression "DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" (identifier "DAT_0007b678") (= "=") (cast_expression "(char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" (( "(") (type_descriptor "char *" (primitive_type "char") (abstract_pointer_declarator "*" (* "*"))) () ")") (call_expression "FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" (identifier "FUN_0003dbd0") (argument_list "(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc))" (( "(") (identifier "DAT_0007b678") (, ",") (pointer_expression "**(undefined4 **)(DAT_0007b5e8 + 0xc)" (* "*") (pointer_expression "*(undefined4 **)(DAT_0007b5e8 + 0xc)" (* "*") (cast_expression "(undefined4 **)(DAT_0007b5e8 + 0xc)" (( "(") (type_descriptor "undefined4 **" (type_identifier "undefined4") (abstract_pointer_declarator "**" (* "*") (abstract_pointer_declarator "*" (* "*")))) () ")") (parenthesized_expression "(DAT_0007b5e8 + 0xc)" (( "(") (binary_expression "DAT_0007b5e8 + 0xc" (identifier "DAT_0007b5e8") (+ "+") (number_literal "0xc")) () ")"))))) () ")"))))) (, ",") (binary_expression "*DAT_0007b678 == '\0'" (pointer_expression "*DAT_0007b678" (* "*") (identifier "DAT_0007b678")) (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) () ")"))) () ")")) (compound_statement "{\n    uVar3 = dcgettext(0,"No current search pattern",5);\n    FUN_00041580(uVar3);\n    return;\n  }" ({ "{") (expression_statement "uVar3 = dcgettext(0,"No current search pattern",5);" (assignment_expression "uVar3 = dcgettext(0,"No current search pattern",5)" (identifier "uVar3") (= "=") (call_expression "dcgettext(0,"No current search pattern",5)" (identifier "dcgettext") (argument_list "(0,"No current search pattern",5)" (( "(") (number_literal "0") (, ",") (string_literal ""No current search pattern"" (" """) (string_content "No current search pattern") (" """)) (, ",") (number_literal "5") () ")")))) (; ";")) (expression_statement "FUN_00041580(uVar3);" (call_expression "FUN_00041580(uVar3)" (identifier "FUN_00041580") (argument_list "(uVar3)" (( "(") (identifier "uVar3") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (if_statement "if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }" (if "if") (parenthesized_expression "(((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0'))" (( "(") (binary_expression "((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')" (parenthesized_expression "((DAT_0007b664 & 0x200) == 0)" (( "(") (binary_expression "(DAT_0007b664 & 0x200) == 0" (parenthesized_expression "(DAT_0007b664 & 0x200)" (( "(") (binary_expression "DAT_0007b664 & 0x200" (identifier "DAT_0007b664") (& "&") (number_literal "0x200")) () ")")) (== "==") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')" (( "(") (comma_expression "cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0'" (assignment_expression "cVar2 = FUN_000334d0(DAT_0007b678)" (identifier "cVar2") (= "=") (call_expression "FUN_000334d0(DAT_0007b678)" (identifier "FUN_000334d0") (argument_list "(DAT_0007b678)" (( "(") (identifier "DAT_0007b678") () ")")))) (, ",") (binary_expression "cVar2 != '\0'" (identifier "cVar2") (!= "!=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'")))) () ")"))) () ")")) (compound_statement "{\n    DAT_0007b064 = 2;\n    FUN_00033ac0();\n    if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    DAT_0007b880 = '\0';\n    if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }\n  }" ({ "{") (expression_statement "DAT_0007b064 = 2;" (assignment_expression "DAT_0007b064 = 2" (identifier "DAT_0007b064") (= "=") (number_literal "2")) (; ";")) (expression_statement "FUN_00033ac0();" (call_expression "FUN_00033ac0()" (identifier "FUN_00033ac0") (argument_list "()" (( "(") () ")"))) (; ";")) (if_statement "if (DAT_0007b880 == '\0') {\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }\n    else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" (if "if") (parenthesized_expression "(DAT_0007b880 == '\0')" (( "(") (binary_expression "DAT_0007b880 == '\0'" (identifier "DAT_0007b880") (== "==") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) () ")")) (compound_statement "{\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" ({ "{") (expression_statement "iVar1 = *(int *)(DAT_0007b640 + 0x30);" (assignment_expression "iVar1 = *(int *)(DAT_0007b640 + 0x30)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(DAT_0007b640 + 0x30)" (* "*") (cast_expression "(int *)(DAT_0007b640 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0007b640 + 0x30)" (( "(") (binary_expression "DAT_0007b640 + 0x30" (identifier "DAT_0007b640") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (} "}")) (else_clause "else {\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" (else "else") (compound_statement "{\n      FUN_00058d90(PTR_DAT_0007aed0);\n      iVar1 = *(int *)(DAT_0007b640 + 0x30);\n    }" ({ "{") (expression_statement "FUN_00058d90(PTR_DAT_0007aed0);" (call_expression "FUN_00058d90(PTR_DAT_0007aed0)" (identifier "FUN_00058d90") (argument_list "(PTR_DAT_0007aed0)" (( "(") (identifier "PTR_DAT_0007aed0") () ")"))) (; ";")) (expression_statement "iVar1 = *(int *)(DAT_0007b640 + 0x30);" (assignment_expression "iVar1 = *(int *)(DAT_0007b640 + 0x30)" (identifier "iVar1") (= "=") (pointer_expression "*(int *)(DAT_0007b640 + 0x30)" (* "*") (cast_expression "(int *)(DAT_0007b640 + 0x30)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(DAT_0007b640 + 0x30)" (( "(") (binary_expression "DAT_0007b640 + 0x30" (identifier "DAT_0007b640") (+ "+") (number_literal "0x30")) () ")"))))) (; ";")) (} "}")))) (expression_statement "DAT_0007b880 = '\0';" (assignment_expression "DAT_0007b880 = '\0'" (identifier "DAT_0007b880") (= "=") (char_literal "'\0'" (' "'") (escape_sequence "\0") (' "'"))) (; ";")) (if_statement "if (iVar1 != 0) {\n      DAT_0007b604 = 1;\n    }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n      DAT_0007b604 = 1;\n    }" ({ "{") (expression_statement "DAT_0007b604 = 1;" (assignment_expression "DAT_0007b604 = 1" (identifier "DAT_0007b604") (= "=") (number_literal "1")) (; ";")) (} "}"))) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

/* WARNING: Function: __x86.get_pc_thunk.bx replaced with injection: get_pc_thunk_bx */
/* WARNING: Unknown calling convention -- yet parameter storage is locked */

void function_1(void)

{
  type_1 *var_8;
  type_2 _Var2;
  char *msg;
  
  flags[0] = flags[0] | 0x1000;
  if ((*last_search == '\0') &&
     ((searchbot->prev == (type_1 *)0x0 ||
      (last_search = var_1(last_search,searchbot->prev->data), *last_search == '\0')))) {
    msg = (char *)var_2(0,"No current search pattern",5);
    var_3(msg);
    return;
  }
  if (((flags[0] & 0x200) == 0) || (_Var2 = var_4(last_search), _Var2)) {
    currmenu = 2;
    var_5();
    if (var_6 == false) {
      var_8 = openfile->mark;
    }
    else {
      var_7((type_3 *)PTR_search_regexp_0007aed0);
      var_8 = openfile->mark;
    }
    var_6 = false;
    if (var_8 != (type_1 *)0x0) {
      refresh_needed = true;
    }
  }
  return;
}


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

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

void MASKED(void)

{
  int iVar1;
  char cVar2;
  undefined4 uVar3;
  
  DAT_0007b664 = DAT_0007b664 | 0x1000;
  if ((*DAT_0007b678 == '\0') &&
     ((*(undefined4 **)(DAT_0007b5e8 + 0xc) == (undefined4 *)0x0 ||
      (DAT_0007b678 = (char *)FUN_0003dbd0(DAT_0007b678,**(undefined4 **)(DAT_0007b5e8 + 0xc)),
      *DAT_0007b678 == '\0')))) {
    uVar3 = dcgettext(0,"No current search pattern",5);
    FUN_00041580(uVar3);
    return;
  }
  if (((DAT_0007b664 & 0x200) == 0) || (cVar2 = FUN_000334d0(DAT_0007b678), cVar2 != '\0')) {
    DAT_0007b064 = 2;
    FUN_00033ac0();
    if (DAT_0007b880 == '\0') {
      iVar1 = *(int *)(DAT_0007b640 + 0x30);
    }
    else {
      FUN_00058d90(PTR_DAT_0007aed0);
      iVar1 = *(int *)(DAT_0007b640 + 0x30);
    }
    DAT_0007b880 = '\0';
    if (iVar1 != 0) {
      DAT_0007b604 = 1;
    }
  }
  return;
}

