
int __regparm3 fts5Porter_MGt1(char *zStem,int nStem)

{
  uint uVar1;
  int iVar2;
  
  uVar1 = fts5PorterGobbleVC(zStem,nStem,0);
  if (uVar1 != 0) {
    iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1);
    uVar1 = (uint)(iVar2 != 0);
  }
  return uVar1;
}



uint FUN_00034a90(void)

{
  uint uVar1;
  int iVar2;
  
  uVar1 = FUN_00034a10();
  if (uVar1 != 0) {
    iVar2 = FUN_00034a10();
    uVar1 = (uint)(iVar2 != 0);
  }
  return uVar1;
}


PUSH ESI
XOR ECX,ECX
MOV ESI,EDX
PUSH EBX
MOV EBX,EAX
CALL 0x00034a10
TEST EAX,EAX
JZ 0x00034ab9
SUB ESI,EAX
MOV ECX,0x1
ADD EAX,EBX
MOV EDX,ESI
CALL 0x00034a10
TEST EAX,EAX
SETNZ AL
MOVZX EAX,AL
POP EBX
POP ESI
RET
(translation_unit "uint FUN_00034a90(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}\n\n" (function_definition "uint FUN_00034a90(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00034a90(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "uVar1 = FUN_00034a10();" (assignment_expression "uVar1 = FUN_00034a10()" identifier = (call_expression "FUN_00034a10()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }" { (expression_statement "iVar2 = FUN_00034a10();" (assignment_expression "iVar2 = FUN_00034a10()" identifier = (call_expression "FUN_00034a10()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar1 = (uint)(iVar2 != 0);" (assignment_expression "uVar1 = (uint)(iVar2 != 0)" identifier = (call_expression "(uint)(iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )))) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "int __regparm3 fts5Porter_MGt1(char *zStem,int nStem)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = fts5PorterGobbleVC(zStem,nStem,0);\n  if (uVar1 != 0) {\n    iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1);\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}\n\n" (function_definition "int __regparm3 fts5Porter_MGt1(char *zStem,int nStem)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = fts5PorterGobbleVC(zStem,nStem,0);\n  if (uVar1 != 0) {\n    iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1);\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "fts5Porter_MGt1(char *zStem,int nStem)" identifier (parameter_list "(char *zStem,int nStem)" ( (parameter_declaration "char *zStem" primitive_type (pointer_declarator "*zStem" * identifier)) , (parameter_declaration "int nStem" primitive_type identifier) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = fts5PorterGobbleVC(zStem,nStem,0);\n  if (uVar1 != 0) {\n    iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1);\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "uVar1 = fts5PorterGobbleVC(zStem,nStem,0);" (assignment_expression "uVar1 = fts5PorterGobbleVC(zStem,nStem,0)" identifier = (call_expression "fts5PorterGobbleVC(zStem,nStem,0)" identifier (argument_list "(zStem,nStem,0)" ( identifier , identifier , number_literal )))) ;) (if_statement "if (uVar1 != 0) {\n    iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1);\n    uVar1 = (uint)(iVar2 != 0);\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1);\n    uVar1 = (uint)(iVar2 != 0);\n  }" { (expression_statement "iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1);" (assignment_expression "iVar2 = fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1)" identifier = (call_expression "fts5PorterGobbleVC(zStem + uVar1,nStem - uVar1,1)" identifier (argument_list "(zStem + uVar1,nStem - uVar1,1)" ( (binary_expression "zStem + uVar1" identifier + identifier) , (binary_expression "nStem - uVar1" identifier - identifier) , number_literal )))) ;) (expression_statement "uVar1 = (uint)(iVar2 != 0);" (assignment_expression "uVar1 = (uint)(iVar2 != 0)" identifier = (call_expression "(uint)(iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )))) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit "uint FUN_00034a90(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}\n\n" (function_definition "uint FUN_00034a90(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" type_identifier (function_declarator "FUN_00034a90(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" { (declaration "uint uVar1;" type_identifier identifier ;) (declaration "int iVar2;" primitive_type identifier ;) (expression_statement "uVar1 = FUN_00034a10();" (assignment_expression "uVar1 = FUN_00034a10()" identifier = (call_expression "FUN_00034a10()" identifier (argument_list "()" ( )))) ;) (if_statement "if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }" if (parenthesized_expression "(uVar1 != 0)" ( (binary_expression "uVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }" { (expression_statement "iVar2 = FUN_00034a10();" (assignment_expression "iVar2 = FUN_00034a10()" identifier = (call_expression "FUN_00034a10()" identifier (argument_list "()" ( )))) ;) (expression_statement "uVar1 = (uint)(iVar2 != 0);" (assignment_expression "uVar1 = (uint)(iVar2 != 0)" identifier = (call_expression "(uint)(iVar2 != 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(iVar2 != 0)" ( (binary_expression "iVar2 != 0" identifier != number_literal) )))) ;) })) (return_statement "return uVar1;" return identifier ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( )))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT != LIT) )))) ;) })) (return_statement return IDENT ;) })))
(function_definition "uint FUN_00034a90(void)\n\n{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" (type_identifier "uint") (function_declarator "FUN_00034a90(void)" (identifier "FUN_00034a90") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint uVar1;\n  int iVar2;\n  \n  uVar1 = FUN_00034a10();\n  if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }\n  return uVar1;\n}" ({ "{") (declaration "uint uVar1;" (type_identifier "uint") (identifier "uVar1") (; ";")) (declaration "int iVar2;" (primitive_type "int") (identifier "iVar2") (; ";")) (expression_statement "uVar1 = FUN_00034a10();" (assignment_expression "uVar1 = FUN_00034a10()" (identifier "uVar1") (= "=") (call_expression "FUN_00034a10()" (identifier "FUN_00034a10") (argument_list "()" (( "(") () ")")))) (; ";")) (if_statement "if (uVar1 != 0) {\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }" (if "if") (parenthesized_expression "(uVar1 != 0)" (( "(") (binary_expression "uVar1 != 0" (identifier "uVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar2 = FUN_00034a10();\n    uVar1 = (uint)(iVar2 != 0);\n  }" ({ "{") (expression_statement "iVar2 = FUN_00034a10();" (assignment_expression "iVar2 = FUN_00034a10()" (identifier "iVar2") (= "=") (call_expression "FUN_00034a10()" (identifier "FUN_00034a10") (argument_list "()" (( "(") () ")")))) (; ";")) (expression_statement "uVar1 = (uint)(iVar2 != 0);" (assignment_expression "uVar1 = (uint)(iVar2 != 0)" (identifier "uVar1") (= "=") (call_expression "(uint)(iVar2 != 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(iVar2 != 0)" (( "(") (binary_expression "iVar2 != 0" (identifier "iVar2") (!= "!=") (number_literal "0")) () ")")))) (; ";")) (} "}"))) (return_statement "return uVar1;" (return "return") (identifier "uVar1") (; ";")) (} "}")))

int __regparm3 function_1(char *var_3,int var_4)

{
  type_1 var_2;
  int var_5;
  
  var_2 = var_1(var_3,var_4,0);
  if (var_2 != 0) {
    var_5 = var_1(var_3 + var_2,var_4 - var_2,1);
    var_2 = (type_1)(var_5 != 0);
  }
  return var_2;
}


(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: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (identifier) arguments: (argument_list)))) (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)))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))))))) (return_statement (identifier)))))

uint MASKED(void)

{
  uint uVar1;
  int iVar2;
  
  uVar1 = FUN_00034a10();
  if (uVar1 != 0) {
    iVar2 = FUN_00034a10();
    uVar1 = (uint)(iVar2 != 0);
  }
  return uVar1;
}

