
void __regparm3 sqlite3ValueFree(sqlite3_value *v)

{
  if (v != (sqlite3_value *)0x0) {
    if (((v->flags & 0x2400) != 0) || (v->szMalloc != 0)) {
      vdbeMemClear(v);
    }
    sqlite3DbFreeNN(v->db,v);
    return;
  }
  return;
}



void __regparm3 FUN_00042f80(int param_1)

{
  if (param_1 != 0) {
    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {
      FUN_00042c60();
    }
    FUN_000428d0();
    return;
  }
  return;
}


TEST EAX,EAX
JZ 0x00042fb0
PUSH EBX
MOV EBX,EAX
SUB ESP,0x8
TEST word ptr [EAX + 0x8],0x2400
JNZ 0x00042f99
MOV EAX,dword ptr [EAX + 0x18]
TEST EAX,EAX
JZ 0x00042fa0
MOV EAX,EBX
CALL 0x00042c60
MOV EAX,dword ptr [EBX + 0x20]
ADD ESP,0x8
MOV EDX,EBX
POP EBX
JMP 0x000428d0
RET
(translation_unit "void __regparm3 FUN_00042f80(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00042f80(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00042f80(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}" { (if_statement "if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }" { (if_statement "if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }" if (parenthesized_expression "(((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0))" ( (binary_expression "((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)" (parenthesized_expression "((*(ushort *)(param_1 + 8) & 0x2400) != 0)" ( (binary_expression "(*(ushort *)(param_1 + 8) & 0x2400) != 0" (parenthesized_expression "(*(ushort *)(param_1 + 8) & 0x2400)" ( (binary_expression "*(ushort *)(param_1 + 8) & 0x2400" (pointer_expression "*(ushort *)(param_1 + 8)" * (cast_expression "(ushort *)(param_1 + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      FUN_00042c60();\n    }" { (expression_statement "FUN_00042c60();" (call_expression "FUN_00042c60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_000428d0();" (call_expression "FUN_000428d0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 sqlite3ValueFree(sqlite3_value *v)\n\n{\n  if (v != (sqlite3_value *)0x0) {\n    if (((v->flags & 0x2400) != 0) || (v->szMalloc != 0)) {\n      vdbeMemClear(v);\n    }\n    sqlite3DbFreeNN(v->db,v);\n    return;\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 sqlite3ValueFree(sqlite3_value *v)\n\n{\n  if (v != (sqlite3_value *)0x0) {\n    if (((v->flags & 0x2400) != 0) || (v->szMalloc != 0)) {\n      vdbeMemClear(v);\n    }\n    sqlite3DbFreeNN(v->db,v);\n    return;\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "sqlite3ValueFree(sqlite3_value *v)" identifier (parameter_list "(sqlite3_value *v)" ( (parameter_declaration "sqlite3_value *v" type_identifier (pointer_declarator "*v" * identifier)) ))) (compound_statement "{\n  if (v != (sqlite3_value *)0x0) {\n    if (((v->flags & 0x2400) != 0) || (v->szMalloc != 0)) {\n      vdbeMemClear(v);\n    }\n    sqlite3DbFreeNN(v->db,v);\n    return;\n  }\n  return;\n}" { (if_statement "if (v != (sqlite3_value *)0x0) {\n    if (((v->flags & 0x2400) != 0) || (v->szMalloc != 0)) {\n      vdbeMemClear(v);\n    }\n    sqlite3DbFreeNN(v->db,v);\n    return;\n  }" if (parenthesized_expression "(v != (sqlite3_value *)0x0)" ( (binary_expression "v != (sqlite3_value *)0x0" identifier != (cast_expression "(sqlite3_value *)0x0" ( (type_descriptor "sqlite3_value *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    if (((v->flags & 0x2400) != 0) || (v->szMalloc != 0)) {\n      vdbeMemClear(v);\n    }\n    sqlite3DbFreeNN(v->db,v);\n    return;\n  }" { (if_statement "if (((v->flags & 0x2400) != 0) || (v->szMalloc != 0)) {\n      vdbeMemClear(v);\n    }" if (parenthesized_expression "(((v->flags & 0x2400) != 0) || (v->szMalloc != 0))" ( (binary_expression "((v->flags & 0x2400) != 0) || (v->szMalloc != 0)" (parenthesized_expression "((v->flags & 0x2400) != 0)" ( (binary_expression "(v->flags & 0x2400) != 0" (parenthesized_expression "(v->flags & 0x2400)" ( (binary_expression "v->flags & 0x2400" (field_expression "v->flags" identifier -> field_identifier) & number_literal) )) != number_literal) )) || (parenthesized_expression "(v->szMalloc != 0)" ( (binary_expression "v->szMalloc != 0" (field_expression "v->szMalloc" identifier -> field_identifier) != number_literal) ))) )) (compound_statement "{\n      vdbeMemClear(v);\n    }" { (expression_statement "vdbeMemClear(v);" (call_expression "vdbeMemClear(v)" identifier (argument_list "(v)" ( identifier ))) ;) })) (expression_statement "sqlite3DbFreeNN(v->db,v);" (call_expression "sqlite3DbFreeNN(v->db,v)" identifier (argument_list "(v->db,v)" ( (field_expression "v->db" identifier -> field_identifier) , identifier ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit "void __regparm3 FUN_00042f80(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}\n\n" (function_definition "void __regparm3 FUN_00042f80(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}" primitive_type (ERROR "__regparm3" identifier) (function_declarator "FUN_00042f80(int param_1)" identifier (parameter_list "(int param_1)" ( (parameter_declaration "int param_1" primitive_type identifier) ))) (compound_statement "{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}" { (if_statement "if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }" if (parenthesized_expression "(param_1 != 0)" ( (binary_expression "param_1 != 0" identifier != number_literal) )) (compound_statement "{\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }" { (if_statement "if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }" if (parenthesized_expression "(((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0))" ( (binary_expression "((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)" (parenthesized_expression "((*(ushort *)(param_1 + 8) & 0x2400) != 0)" ( (binary_expression "(*(ushort *)(param_1 + 8) & 0x2400) != 0" (parenthesized_expression "(*(ushort *)(param_1 + 8) & 0x2400)" ( (binary_expression "*(ushort *)(param_1 + 8) & 0x2400" (pointer_expression "*(ushort *)(param_1 + 8)" * (cast_expression "(ushort *)(param_1 + 8)" ( (type_descriptor "ushort *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 8)" ( (binary_expression "param_1 + 8" identifier + number_literal) )))) & number_literal) )) != number_literal) )) || (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" ( (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" * (cast_expression "(int *)(param_1 + 0x18)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(param_1 + 0x18)" ( (binary_expression "param_1 + 0x18" identifier + number_literal) )))) != number_literal) ))) )) (compound_statement "{\n      FUN_00042c60();\n    }" { (expression_statement "FUN_00042c60();" (call_expression "FUN_00042c60()" identifier (argument_list "()" ( ))) ;) })) (expression_statement "FUN_000428d0();" (call_expression "FUN_000428d0()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (ERROR IDENT) (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) ))) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (if_statement if (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) & LIT) )) != LIT) )) || (parenthesized_expression ( (binary_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) != LIT) ))) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( ))) ;) })) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })) (return_statement return ;) })))
(function_definition "void __regparm3 FUN_00042f80(int param_1)\n\n{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}" (primitive_type "void") (ERROR "__regparm3" (identifier "__regparm3")) (function_declarator "FUN_00042f80(int param_1)" (identifier "FUN_00042f80") (parameter_list "(int param_1)" (( "(") (parameter_declaration "int param_1" (primitive_type "int") (identifier "param_1")) () ")"))) (compound_statement "{\n  if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }\n  return;\n}" ({ "{") (if_statement "if (param_1 != 0) {\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }" (if "if") (parenthesized_expression "(param_1 != 0)" (( "(") (binary_expression "param_1 != 0" (identifier "param_1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }\n    FUN_000428d0();\n    return;\n  }" ({ "{") (if_statement "if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {\n      FUN_00042c60();\n    }" (if "if") (parenthesized_expression "(((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0))" (( "(") (binary_expression "((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)" (parenthesized_expression "((*(ushort *)(param_1 + 8) & 0x2400) != 0)" (( "(") (binary_expression "(*(ushort *)(param_1 + 8) & 0x2400) != 0" (parenthesized_expression "(*(ushort *)(param_1 + 8) & 0x2400)" (( "(") (binary_expression "*(ushort *)(param_1 + 8) & 0x2400" (pointer_expression "*(ushort *)(param_1 + 8)" (* "*") (cast_expression "(ushort *)(param_1 + 8)" (( "(") (type_descriptor "ushort *" (type_identifier "ushort") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 8)" (( "(") (binary_expression "param_1 + 8" (identifier "param_1") (+ "+") (number_literal "8")) () ")")))) (& "&") (number_literal "0x2400")) () ")")) (!= "!=") (number_literal "0")) () ")")) (|| "||") (parenthesized_expression "(*(int *)(param_1 + 0x18) != 0)" (( "(") (binary_expression "*(int *)(param_1 + 0x18) != 0" (pointer_expression "*(int *)(param_1 + 0x18)" (* "*") (cast_expression "(int *)(param_1 + 0x18)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(param_1 + 0x18)" (( "(") (binary_expression "param_1 + 0x18" (identifier "param_1") (+ "+") (number_literal "0x18")) () ")")))) (!= "!=") (number_literal "0")) () ")"))) () ")")) (compound_statement "{\n      FUN_00042c60();\n    }" ({ "{") (expression_statement "FUN_00042c60();" (call_expression "FUN_00042c60()" (identifier "FUN_00042c60") (argument_list "()" (( "(") () ")"))) (; ";")) (} "}"))) (expression_statement "FUN_000428d0();" (call_expression "FUN_000428d0()" (identifier "FUN_000428d0") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}"))) (return_statement "return;" (return "return") (; ";")) (} "}")))

void __regparm3 function_1(type_1 *var_1)

{
  if (var_1 != (type_1 *)0x0) {
    if (((var_1->flags & 0x2400) != 0) || (var_1->szMalloc != 0)) {
      var_2(var_1);
    }
    var_3(var_1->db,var_1);
    return;
  }
  return;
}


(translation_unit (function_definition type: (primitive_type) (ERROR (identifier)) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (if_statement condition: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (parenthesized_expression (binary_expression left: (pointer_expression argument: (cast_expression type: (type_descriptor type: (type_identifier) declarator: (abstract_pointer_declarator)) value: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))))) right: (number_literal))) right: (number_literal))) right: (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: (identifier) right: (number_literal))))) right: (number_literal))))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))) (return_statement))))

void __regparm3 MASKED(int param_1)

{
  if (param_1 != 0) {
    if (((*(ushort *)(param_1 + 8) & 0x2400) != 0) || (*(int *)(param_1 + 0x18) != 0)) {
      FUN_00042c60();
    }
    FUN_000428d0();
    return;
  }
  return;
}

