
void __regparm3 fts5ExprClearPoslists(Fts5ExprNode *pNode)

{
  Fts5ExprNode **ppFVar1;
  int iVar2;
  
  if ((pNode->eType != 4) && (pNode->eType != 9)) {
    iVar2 = 0;
    if (0 < pNode->nChild) {
      do {
        ppFVar1 = pNode->apChild + iVar2;
        iVar2 = iVar2 + 1;
        fts5ExprClearPoslists(*ppFVar1);
      } while (iVar2 < pNode->nChild);
    }
    return;
  }
  (pNode->pNear->apPhrase[0]->poslist).n = 0;
  return;
}



void __regparm3 FUN_00032d50(int *param_1)

{
  int iVar1;
  
  if ((*param_1 != 4) && (*param_1 != 9)) {
    iVar1 = 0;
    if (0 < param_1[7]) {
      do {
        iVar1 = iVar1 + 1;
        FUN_00032d50();
      } while (iVar1 < param_1[7]);
    }
    return;
  }
  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;
  return;
}


MOV EDX,dword ptr [EAX]
CMP EDX,0x4
JZ 0x00032d88
CMP EDX,0x9
JZ 0x00032d88
PUSH ESI
MOV ESI,EAX
PUSH EBX
XOR EBX,EBX
SUB ESP,0x4
MOV EAX,dword ptr [EAX + 0x1c]
TEST EAX,EAX
JLE 0x00032d7d
MOV EAX,dword ptr [ESI + EBX*0x4 + 0x20]
ADD EBX,0x1
CALL 0x00032d50
CMP EBX,dword ptr [ESI + 0x1c]
JL 0x00032d6c
ADD ESP,0x4
POP EBX
POP ESI
RET
MOV EAX,dword ptr [EAX + 0x18]
MOV EAX,dword ptr [EAX + 0xc]
MOV dword ptr [EAX + 0x8],0x0
RET
(translation_unit "void __regparm3 FUN_00032d50(int *param_1)\n\n{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00032d50(int *param_1)\n\n{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00032d50(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }" if (parenthesized_expression "((*param_1 != 4) && (*param_1 != 9))" ( (binary_expression "(*param_1 != 4) && (*param_1 != 9)" (parenthesized_expression "(*param_1 != 4)" ( (binary_expression "*param_1 != 4" (pointer_expression "*param_1" * identifier) != number_literal) )) && (parenthesized_expression "(*param_1 != 9)" ( (binary_expression "*param_1 != 9" (pointer_expression "*param_1" * identifier) != number_literal) ))) )) (compound_statement "{\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }" { (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (if_statement "if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }" if (parenthesized_expression "(0 < param_1[7])" ( (binary_expression "0 < param_1[7]" number_literal < (subscript_expression "param_1[7]" identifier [ number_literal ])) )) (compound_statement "{\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }" { (do_statement "do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);" do (compound_statement "{\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00032d50();" (call_expression "FUN_00032d50()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "(iVar1 < param_1[7])" ( (binary_expression "iVar1 < param_1[7]" identifier < (subscript_expression "param_1[7]" identifier [ number_literal ])) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8)" * (cast_expression "(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[6] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[6] + 0xc) + 8" (pointer_expression "*(int *)(param_1[6] + 0xc)" * (cast_expression "(int *)(param_1[6] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[6] + 0xc)" ( (binary_expression "param_1[6] + 0xc" (subscript_expression "param_1[6]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 fts5ExprClearPoslists(Fts5ExprNode *pNode)\n\n{\n  Fts5ExprNode **ppFVar1;\n  int iVar2;\n  \n  if ((pNode->eType != 4) && (pNode->eType != 9)) {\n    iVar2 = 0;\n    if (0 < pNode->nChild) {\n      do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);\n    }\n    return;\n  }\n  (pNode->pNear->apPhrase[0]->poslist).n = 0;\n  return;\n}\n\n" (function_definition "void __regparm3 fts5ExprClearPoslists(Fts5ExprNode *pNode)\n\n{\n  Fts5ExprNode **ppFVar1;\n  int iVar2;\n  \n  if ((pNode->eType != 4) && (pNode->eType != 9)) {\n    iVar2 = 0;\n    if (0 < pNode->nChild) {\n      do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);\n    }\n    return;\n  }\n  (pNode->pNear->apPhrase[0]->poslist).n = 0;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "fts5ExprClearPoslists(Fts5ExprNode *pNode)" identifier (parameter_list "(Fts5ExprNode *pNode)" ( (parameter_declaration "Fts5ExprNode *pNode" type_identifier (pointer_declarator "*pNode" * identifier)) ))) (compound_statement "{\n  Fts5ExprNode **ppFVar1;\n  int iVar2;\n  \n  if ((pNode->eType != 4) && (pNode->eType != 9)) {\n    iVar2 = 0;\n    if (0 < pNode->nChild) {\n      do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);\n    }\n    return;\n  }\n  (pNode->pNear->apPhrase[0]->poslist).n = 0;\n  return;\n}" { (declaration "Fts5ExprNode **ppFVar1;" type_identifier (pointer_declarator "**ppFVar1" * (pointer_declarator "*ppFVar1" * identifier)) ;) (declaration "int iVar2;" primitive_type identifier ;) (if_statement "if ((pNode->eType != 4) && (pNode->eType != 9)) {\n    iVar2 = 0;\n    if (0 < pNode->nChild) {\n      do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);\n    }\n    return;\n  }" if (parenthesized_expression "((pNode->eType != 4) && (pNode->eType != 9))" ( (binary_expression "(pNode->eType != 4) && (pNode->eType != 9)" (parenthesized_expression "(pNode->eType != 4)" ( (binary_expression "pNode->eType != 4" (field_expression "pNode->eType" identifier -> field_identifier) != number_literal) )) && (parenthesized_expression "(pNode->eType != 9)" ( (binary_expression "pNode->eType != 9" (field_expression "pNode->eType" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n    iVar2 = 0;\n    if (0 < pNode->nChild) {\n      do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);\n    }\n    return;\n  }" { (expression_statement "iVar2 = 0;" (assignment_expression "iVar2 = 0" identifier = number_literal) ;) (if_statement "if (0 < pNode->nChild) {\n      do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);\n    }" if (parenthesized_expression "(0 < pNode->nChild)" ( (binary_expression "0 < pNode->nChild" number_literal < (field_expression "pNode->nChild" identifier -> field_identifier)) )) (compound_statement "{\n      do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);\n    }" { (do_statement "do {\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      } while (iVar2 < pNode->nChild);" do (compound_statement "{\n        ppFVar1 = pNode->apChild + iVar2;\n        iVar2 = iVar2 + 1;\n        fts5ExprClearPoslists(*ppFVar1);\n      }" { (expression_statement "ppFVar1 = pNode->apChild + iVar2;" (assignment_expression "ppFVar1 = pNode->apChild + iVar2" identifier = (binary_expression "pNode->apChild + iVar2" (field_expression "pNode->apChild" identifier -> field_identifier) + identifier)) ;) (expression_statement "iVar2 = iVar2 + 1;" (assignment_expression "iVar2 = iVar2 + 1" identifier = (binary_expression "iVar2 + 1" identifier + number_literal)) ;) (expression_statement "fts5ExprClearPoslists(*ppFVar1);" (call_expression "fts5ExprClearPoslists(*ppFVar1)" identifier (argument_list "(*ppFVar1)" ( (pointer_expression "*ppFVar1" * identifier) ))) ;) }) while (parenthesized_expression "(iVar2 < pNode->nChild)" ( (binary_expression "iVar2 < pNode->nChild" identifier < (field_expression "pNode->nChild" identifier -> field_identifier)) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "(pNode->pNear->apPhrase[0]->poslist).n = 0;" (assignment_expression "(pNode->pNear->apPhrase[0]->poslist).n = 0" (field_expression "(pNode->pNear->apPhrase[0]->poslist).n" (parenthesized_expression "(pNode->pNear->apPhrase[0]->poslist)" ( (field_expression "pNode->pNear->apPhrase[0]->poslist" (subscript_expression "pNode->pNear->apPhrase[0]" (field_expression "pNode->pNear->apPhrase" (field_expression "pNode->pNear" identifier -> field_identifier) -> field_identifier) [ number_literal ]) -> field_identifier) )) . field_identifier) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_00032d50(int *param_1)\n\n{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00032d50(int *param_1)\n\n{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00032d50(int *param_1)" identifier (parameter_list "(int *param_1)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) ))) (compound_statement "{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (if_statement "if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }" if (parenthesized_expression "((*param_1 != 4) && (*param_1 != 9))" ( (binary_expression "(*param_1 != 4) && (*param_1 != 9)" (parenthesized_expression "(*param_1 != 4)" ( (binary_expression "*param_1 != 4" (pointer_expression "*param_1" * identifier) != number_literal) )) && (parenthesized_expression "(*param_1 != 9)" ( (binary_expression "*param_1 != 9" (pointer_expression "*param_1" * identifier) != number_literal) ))) )) (compound_statement "{\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }" { (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" identifier = number_literal) ;) (if_statement "if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }" if (parenthesized_expression "(0 < param_1[7])" ( (binary_expression "0 < param_1[7]" number_literal < (subscript_expression "param_1[7]" identifier [ number_literal ])) )) (compound_statement "{\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }" { (do_statement "do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);" do (compound_statement "{\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      }" { (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" identifier = (binary_expression "iVar1 + 1" identifier + number_literal)) ;) (expression_statement "FUN_00032d50();" (call_expression "FUN_00032d50()" identifier (argument_list "()" ( ))) ;) }) while (parenthesized_expression "(iVar1 < param_1[7])" ( (binary_expression "iVar1 < param_1[7]" identifier < (subscript_expression "param_1[7]" identifier [ number_literal ])) )) ;) })) (return_statement "return;" return ;) })) (expression_statement "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8)" * (cast_expression "(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(*(int *)(param_1[6] + 0xc) + 8)" ( (binary_expression "*(int *)(param_1[6] + 0xc) + 8" (pointer_expression "*(int *)(param_1[6] + 0xc)" * (cast_expression "(int *)(param_1[6] + 0xc)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1[6] + 0xc)" ( (binary_expression "param_1[6] + 0xc" (subscript_expression "param_1[6]" identifier [ number_literal ]) + number_literal) )))) + number_literal) )))) = number_literal) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) ))) (compound_statement { (declaration TYPE IDENT ;) (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) )) && (parenthesized_expression ( (binary_expression (pointer_expression * IDENT) != LIT) ))) )) (compound_statement { (expression_statement (assignment_expression IDENT = LIT) ;) (if_statement if (parenthesized_expression ( (binary_expression LIT < (subscript_expression IDENT [ LIT ])) )) (compound_statement { (do_statement do (compound_statement { (expression_statement (assignment_expression IDENT = (binary_expression IDENT + LIT)) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) }) while (parenthesized_expression ( (binary_expression IDENT < (subscript_expression IDENT [ LIT ])) )) ;) })) (return_statement return ;) })) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression (subscript_expression IDENT [ LIT ]) + LIT) )))) + LIT) )))) = LIT) ;) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00032d50(int *param_1)\n\n{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00032d50(int *param_1)" (identifier "FUN_00032d50") (parameter_list "(int *param_1)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }\n  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (if_statement "if ((*param_1 != 4) && (*param_1 != 9)) {\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }" (if "if") (parenthesized_expression "((*param_1 != 4) && (*param_1 != 9))" (( "(") (binary_expression "(*param_1 != 4) && (*param_1 != 9)" (parenthesized_expression "(*param_1 != 4)" (( "(") (binary_expression "*param_1 != 4" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (number_literal "4")) () ")")) (&& "&&") (parenthesized_expression "(*param_1 != 9)" (( "(") (binary_expression "*param_1 != 9" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (!= "!=") (number_literal "9")) () ")"))) () ")")) (compound_statement "{\n    iVar1 = 0;\n    if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }\n    return;\n  }" ({ "{") (expression_statement "iVar1 = 0;" (assignment_expression "iVar1 = 0" (identifier "iVar1") (= "=") (number_literal "0")) (; ";")) (if_statement "if (0 < param_1[7]) {\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }" (if "if") (parenthesized_expression "(0 < param_1[7])" (( "(") (binary_expression "0 < param_1[7]" (number_literal "0") (< "<") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) () ")")) (compound_statement "{\n      do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);\n    }" ({ "{") (do_statement "do {\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      } while (iVar1 < param_1[7]);" (do "do") (compound_statement "{\n        iVar1 = iVar1 + 1;\n        FUN_00032d50();\n      }" ({ "{") (expression_statement "iVar1 = iVar1 + 1;" (assignment_expression "iVar1 = iVar1 + 1" (identifier "iVar1") (= "=") (binary_expression "iVar1 + 1" (identifier "iVar1") (+ "+") (number_literal "1"))) (; ";")) (expression_statement "FUN_00032d50();" (call_expression "FUN_00032d50()" (identifier "FUN_00032d50") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}")) (while "while") (parenthesized_expression "(iVar1 < param_1[7])" (( "(") (binary_expression "iVar1 < param_1[7]" (identifier "iVar1") (< "<") (subscript_expression "param_1[7]" (identifier "param_1") ([ "[") (number_literal "7") (] "]"))) () ")")) (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;" (assignment_expression "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0" (pointer_expression "*(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8)" (* "*") (cast_expression "(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(*(int *)(param_1[6] + 0xc) + 8)" (( "(") (binary_expression "*(int *)(param_1[6] + 0xc) + 8" (pointer_expression "*(int *)(param_1[6] + 0xc)" (* "*") (cast_expression "(int *)(param_1[6] + 0xc)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1[6] + 0xc)" (( "(") (binary_expression "param_1[6] + 0xc" (subscript_expression "param_1[6]" (identifier "param_1") ([ "[") (number_literal "6") (] "]")) (+ "+") (number_literal "0xc")) () ")")))) (+ "+") (number_literal "8")) () ")")))) (= "=") (number_literal "0")) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

void __regparm3 function_1(type_1 *pNode)

{
  type_1 **ppFVar1;
  int var_1;
  
  if ((pNode->eType != 4) && (pNode->eType != 9)) {
    var_1 = 0;
    if (0 < pNode->nChild) {
      do {
        ppFVar1 = pNode->apChild + var_1;
        var_1 = var_1 + 1;
        function_1(*ppFVar1);
      } while (var_1 < pNode->nChild);
    }
    return;
  }
  (pNode->pNear->apPhrase[0]->poslist).n = 0;
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (pointer_declarator declarator: (identifier))))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))) right: (parenthesized_expression (binary_expression left: (pointer_expression argument: (identifier)) right: (number_literal))))) consequence: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (number_literal))) (if_statement condition: (parenthesized_expression (binary_expression left: (number_literal) right: (subscript_expression argument: (identifier) index: (number_literal)))) consequence: (compound_statement (do_statement body: (compound_statement (expression_statement (assignment_expression left: (identifier) right: (binary_expression left: (identifier) right: (number_literal)))) (expression_statement (call_expression function: (identifier) arguments: (argument_list)))) condition: (parenthesized_expression (binary_expression left: (identifier) right: (subscript_expression argument: (identifier) index: (number_literal))))))) (return_statement))) (expression_statement (assignment_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (subscript_expression argument: (identifier) index: (number_literal)) right: (number_literal))))) right: (number_literal))))) right: (number_literal))) (return_statement))))

void __regparm3 MASKED(int *param_1)

{
  int iVar1;
  
  if ((*param_1 != 4) && (*param_1 != 9)) {
    iVar1 = 0;
    if (0 < param_1[7]) {
      do {
        iVar1 = iVar1 + 1;
        MASKED();
      } while (iVar1 < param_1[7]);
    }
    return;
  }
  *(undefined4 *)(*(int *)(param_1[6] + 0xc) + 8) = 0;
  return;
}

