
int sessionChangesetStart
              (sqlite3_changeset_iter **pp,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,
              int nChangeset,void *pChangeset,int bInvert)

{
  void *pvVar1;
  sqlite3_changeset_iter *psVar2;
  
  *pp = (sqlite3_changeset_iter *)0x0;
  pvVar1 = sqlite3_malloc(0x60);
  if (pvVar1 != (void *)0x0) {
    psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60);
    (psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0);
    (psVar2->in).aData = (u8 *)pChangeset;
    (psVar2->in).nData = nChangeset;
    (psVar2->in).xInput = xInput;
    (psVar2->in).pIn = pIn;
    psVar2->bInvert = bInvert;
    *pp = psVar2;
    return 0;
  }
  return 7;
}



undefined4
FUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,
            undefined4 param_6)

{
  int iVar1;
  
  *param_1 = 0;
  iVar1 = sqlite3_malloc(0x60);
  if (iVar1 != 0) {
    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);
    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);
    *(undefined4 *)(iVar1 + 0xc) = param_5;
    *(undefined4 *)(iVar1 + 0x10) = param_4;
    *(int *)(iVar1 + 0x20) = param_2;
    *(undefined4 *)(iVar1 + 0x24) = param_3;
    *(undefined4 *)(iVar1 + 0x3c) = param_6;
    *param_1 = iVar1;
    return 0;
  }
  return 7;
}


lui gp,0x12
addiu gp,gp,0x4664
addu gp,gp,t9
addiu sp,sp,-0x30
lw t9,-0x7f3c(gp)
sw s0,0x1c(sp)
or s0,a0,zero
sw gp,0x10(sp)
li a0,0x60
sw s3,0x28(sp)
or s3,a3,zero
sw s2,0x24(sp)
or s2,a2,zero
sw s1,0x20(sp)
or s1,a1,zero
sw ra,0x2c(sp)
bal 0x000739e4
_sw zero,0x0(s0)
beq v0,zero,0x0007436c
_lw gp,0x10(sp)
lw t9,-0x7bc8(gp)
li a2,0x60
or a1,zero,zero
jalr t9
_or a0,v0,zero
sltiu a0,s1,0x1
or v1,v0,zero
lw v0,0x40(sp)
sw a0,0x28(v1)
sw v0,0xc(v1)
or v0,zero,zero
sw s3,0x10(v1)
sw s1,0x20(v1)
sw s2,0x24(v1)
lw a0,0x44(sp)
sw a0,0x3c(v1)
sw v1,0x0(s0)
lw ra,0x2c(sp)
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
lw ra,0x2c(sp)
li v0,0x7
lw s3,0x28(sp)
lw s2,0x24(sp)
lw s1,0x20(sp)
lw s0,0x1c(sp)
jr ra
_addiu sp,sp,0x30
(translation_unit "undefined4\nFUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)\n\n{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}\n\n" (function_definition "undefined4\nFUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)\n\n{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}" type_identifier (function_declarator "FUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "iVar1 = sqlite3_malloc(0x60);" (assignment_expression "iVar1 = sqlite3_malloc(0x60)" identifier = (call_expression "sqlite3_malloc(0x60)" identifier (argument_list "(0x60)" ( number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }" { (expression_statement "iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);" (assignment_expression "iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60)" identifier = (call_expression "(*(code *)PTR_memset_00190d58)(iVar1,0,0x60)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1,0,0x60)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);" (assignment_expression "*(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0)" (pointer_expression "*(uint *)(iVar1 + 0x28)" * (cast_expression "(uint *)(iVar1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) = (call_expression "(uint)(param_2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0xc) = param_5;" (assignment_expression "*(undefined4 *)(iVar1 + 0xc) = param_5" (pointer_expression "*(undefined4 *)(iVar1 + 0xc)" * (cast_expression "(undefined4 *)(iVar1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = param_4;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = param_4" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar1 + 0x20) = param_2;" (assignment_expression "*(int *)(iVar1 + 0x20) = param_2" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x24) = param_3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x24) = param_3" (pointer_expression "*(undefined4 *)(iVar1 + 0x24)" * (cast_expression "(undefined4 *)(iVar1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x3c) = param_6;" (assignment_expression "*(undefined4 *)(iVar1 + 0x3c) = param_6" (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" * (cast_expression "(undefined4 *)(iVar1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3c)" ( (binary_expression "iVar1 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 7;" return number_literal ;) })))
(translation_unit "int sessionChangesetStart\n              (sqlite3_changeset_iter **pp,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              int nChangeset,void *pChangeset,int bInvert)\n\n{\n  void *pvVar1;\n  sqlite3_changeset_iter *psVar2;\n  \n  *pp = (sqlite3_changeset_iter *)0x0;\n  pvVar1 = sqlite3_malloc(0x60);\n  if (pvVar1 != (void *)0x0) {\n    psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60);\n    (psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0);\n    (psVar2->in).aData = (u8 *)pChangeset;\n    (psVar2->in).nData = nChangeset;\n    (psVar2->in).xInput = xInput;\n    (psVar2->in).pIn = pIn;\n    psVar2->bInvert = bInvert;\n    *pp = psVar2;\n    return 0;\n  }\n  return 7;\n}\n\n" (function_definition "int sessionChangesetStart\n              (sqlite3_changeset_iter **pp,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              int nChangeset,void *pChangeset,int bInvert)\n\n{\n  void *pvVar1;\n  sqlite3_changeset_iter *psVar2;\n  \n  *pp = (sqlite3_changeset_iter *)0x0;\n  pvVar1 = sqlite3_malloc(0x60);\n  if (pvVar1 != (void *)0x0) {\n    psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60);\n    (psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0);\n    (psVar2->in).aData = (u8 *)pChangeset;\n    (psVar2->in).nData = nChangeset;\n    (psVar2->in).xInput = xInput;\n    (psVar2->in).pIn = pIn;\n    psVar2->bInvert = bInvert;\n    *pp = psVar2;\n    return 0;\n  }\n  return 7;\n}" primitive_type (function_declarator "sessionChangesetStart\n              (sqlite3_changeset_iter **pp,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              int nChangeset,void *pChangeset,int bInvert)" identifier (parameter_list "(sqlite3_changeset_iter **pp,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              int nChangeset,void *pChangeset,int bInvert)" ( (parameter_declaration "sqlite3_changeset_iter **pp" type_identifier (pointer_declarator "**pp" * (pointer_declarator "*pp" * identifier))) , (parameter_declaration "_func_int_void_ptr_void_ptr_int_ptr *xInput" type_identifier (pointer_declarator "*xInput" * identifier)) , (parameter_declaration "void *pIn" primitive_type (pointer_declarator "*pIn" * identifier)) , (parameter_declaration "int nChangeset" primitive_type identifier) , (parameter_declaration "void *pChangeset" primitive_type (pointer_declarator "*pChangeset" * identifier)) , (parameter_declaration "int bInvert" primitive_type identifier) ))) (compound_statement "{\n  void *pvVar1;\n  sqlite3_changeset_iter *psVar2;\n  \n  *pp = (sqlite3_changeset_iter *)0x0;\n  pvVar1 = sqlite3_malloc(0x60);\n  if (pvVar1 != (void *)0x0) {\n    psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60);\n    (psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0);\n    (psVar2->in).aData = (u8 *)pChangeset;\n    (psVar2->in).nData = nChangeset;\n    (psVar2->in).xInput = xInput;\n    (psVar2->in).pIn = pIn;\n    psVar2->bInvert = bInvert;\n    *pp = psVar2;\n    return 0;\n  }\n  return 7;\n}" { (declaration "void *pvVar1;" primitive_type (pointer_declarator "*pvVar1" * identifier) ;) (declaration "sqlite3_changeset_iter *psVar2;" type_identifier (pointer_declarator "*psVar2" * identifier) ;) (expression_statement "*pp = (sqlite3_changeset_iter *)0x0;" (assignment_expression "*pp = (sqlite3_changeset_iter *)0x0" (pointer_expression "*pp" * identifier) = (cast_expression "(sqlite3_changeset_iter *)0x0" ( (type_descriptor "sqlite3_changeset_iter *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "pvVar1 = sqlite3_malloc(0x60);" (assignment_expression "pvVar1 = sqlite3_malloc(0x60)" identifier = (call_expression "sqlite3_malloc(0x60)" identifier (argument_list "(0x60)" ( number_literal )))) ;) (if_statement "if (pvVar1 != (void *)0x0) {\n    psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60);\n    (psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0);\n    (psVar2->in).aData = (u8 *)pChangeset;\n    (psVar2->in).nData = nChangeset;\n    (psVar2->in).xInput = xInput;\n    (psVar2->in).pIn = pIn;\n    psVar2->bInvert = bInvert;\n    *pp = psVar2;\n    return 0;\n  }" if (parenthesized_expression "(pvVar1 != (void *)0x0)" ( (binary_expression "pvVar1 != (void *)0x0" identifier != (cast_expression "(void *)0x0" ( (type_descriptor "void *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal)) )) (compound_statement "{\n    psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60);\n    (psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0);\n    (psVar2->in).aData = (u8 *)pChangeset;\n    (psVar2->in).nData = nChangeset;\n    (psVar2->in).xInput = xInput;\n    (psVar2->in).pIn = pIn;\n    psVar2->bInvert = bInvert;\n    *pp = psVar2;\n    return 0;\n  }" { (expression_statement "psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60);" (assignment_expression "psVar2 = (sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60)" identifier = (cast_expression "(sqlite3_changeset_iter *)(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60)" ( (type_descriptor "sqlite3_changeset_iter *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(*(code *)PTR_memset_00190d58)(pvVar1,0,0x60)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(pvVar1,0,0x60)" ( identifier , number_literal , number_literal ))))) ;) (expression_statement "(psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0);" (assignment_expression "(psVar2->in).bEof = (uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0)" (field_expression "(psVar2->in).bEof" (parenthesized_expression "(psVar2->in)" ( (field_expression "psVar2->in" identifier -> field_identifier) )) . field_identifier) = (call_expression "(uint)(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0)" ( (binary_expression "xInput == (_func_int_void_ptr_void_ptr_int_ptr *)0x0" identifier == (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)0x0" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) )))) ;) (expression_statement "(psVar2->in).aData = (u8 *)pChangeset;" (assignment_expression "(psVar2->in).aData = (u8 *)pChangeset" (field_expression "(psVar2->in).aData" (parenthesized_expression "(psVar2->in)" ( (field_expression "psVar2->in" identifier -> field_identifier) )) . field_identifier) = (cast_expression "(u8 *)pChangeset" ( (type_descriptor "u8 *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "(psVar2->in).nData = nChangeset;" (assignment_expression "(psVar2->in).nData = nChangeset" (field_expression "(psVar2->in).nData" (parenthesized_expression "(psVar2->in)" ( (field_expression "psVar2->in" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(psVar2->in).xInput = xInput;" (assignment_expression "(psVar2->in).xInput = xInput" (field_expression "(psVar2->in).xInput" (parenthesized_expression "(psVar2->in)" ( (field_expression "psVar2->in" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "(psVar2->in).pIn = pIn;" (assignment_expression "(psVar2->in).pIn = pIn" (field_expression "(psVar2->in).pIn" (parenthesized_expression "(psVar2->in)" ( (field_expression "psVar2->in" identifier -> field_identifier) )) . field_identifier) = identifier) ;) (expression_statement "psVar2->bInvert = bInvert;" (assignment_expression "psVar2->bInvert = bInvert" (field_expression "psVar2->bInvert" identifier -> field_identifier) = identifier) ;) (expression_statement "*pp = psVar2;" (assignment_expression "*pp = psVar2" (pointer_expression "*pp" * identifier) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 7;" return number_literal ;) })))
(translation_unit "undefined4\nFUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)\n\n{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}\n\n" (function_definition "undefined4\nFUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)\n\n{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}" type_identifier (function_declarator "FUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)" identifier (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)" ( (parameter_declaration "int *param_1" primitive_type (pointer_declarator "*param_1" * identifier)) , (parameter_declaration "int param_2" primitive_type identifier) , (parameter_declaration "undefined4 param_3" type_identifier identifier) , (parameter_declaration "undefined4 param_4" type_identifier identifier) , (parameter_declaration "undefined4 param_5" type_identifier identifier) , (parameter_declaration "undefined4 param_6" type_identifier identifier) ))) (compound_statement "{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" * identifier) = number_literal) ;) (expression_statement "iVar1 = sqlite3_malloc(0x60);" (assignment_expression "iVar1 = sqlite3_malloc(0x60)" identifier = (call_expression "sqlite3_malloc(0x60)" identifier (argument_list "(0x60)" ( number_literal )))) ;) (if_statement "if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }" if (parenthesized_expression "(iVar1 != 0)" ( (binary_expression "iVar1 != 0" identifier != number_literal) )) (compound_statement "{\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }" { (expression_statement "iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);" (assignment_expression "iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60)" identifier = (call_expression "(*(code *)PTR_memset_00190d58)(iVar1,0,0x60)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" ( (pointer_expression "*(code *)PTR_memset_00190d58" * (cast_expression "(code *)PTR_memset_00190d58" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "(iVar1,0,0x60)" ( identifier , number_literal , number_literal )))) ;) (expression_statement "*(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);" (assignment_expression "*(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0)" (pointer_expression "*(uint *)(iVar1 + 0x28)" * (cast_expression "(uint *)(iVar1 + 0x28)" ( (type_descriptor "uint *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x28)" ( (binary_expression "iVar1 + 0x28" identifier + number_literal) )))) = (call_expression "(uint)(param_2 == 0)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_2 == 0)" ( (binary_expression "param_2 == 0" identifier == number_literal) )))) ;) (expression_statement "*(undefined4 *)(iVar1 + 0xc) = param_5;" (assignment_expression "*(undefined4 *)(iVar1 + 0xc) = param_5" (pointer_expression "*(undefined4 *)(iVar1 + 0xc)" * (cast_expression "(undefined4 *)(iVar1 + 0xc)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0xc)" ( (binary_expression "iVar1 + 0xc" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = param_4;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = param_4" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" * (cast_expression "(undefined4 *)(iVar1 + 0x10)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x10)" ( (binary_expression "iVar1 + 0x10" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(int *)(iVar1 + 0x20) = param_2;" (assignment_expression "*(int *)(iVar1 + 0x20) = param_2" (pointer_expression "*(int *)(iVar1 + 0x20)" * (cast_expression "(int *)(iVar1 + 0x20)" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x20)" ( (binary_expression "iVar1 + 0x20" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x24) = param_3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x24) = param_3" (pointer_expression "*(undefined4 *)(iVar1 + 0x24)" * (cast_expression "(undefined4 *)(iVar1 + 0x24)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x24)" ( (binary_expression "iVar1 + 0x24" identifier + number_literal) )))) = identifier) ;) (expression_statement "*(undefined4 *)(iVar1 + 0x3c) = param_6;" (assignment_expression "*(undefined4 *)(iVar1 + 0x3c) = param_6" (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" * (cast_expression "(undefined4 *)(iVar1 + 0x3c)" ( (type_descriptor "undefined4 *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(iVar1 + 0x3c)" ( (binary_expression "iVar1 + 0x3c" identifier + number_literal) )))) = identifier) ;) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" * identifier) = identifier) ;) (return_statement "return 0;" return number_literal ;) })) (return_statement "return 7;" return number_literal ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE (pointer_declarator * IDENT)) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) ))) (compound_statement { (declaration TYPE IDENT ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = LIT) ;) (expression_statement (assignment_expression IDENT = (call_expression IDENT (argument_list ( LIT )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT != LIT) )) (compound_statement { (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( IDENT , LIT , LIT )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT == LIT) )))) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) = IDENT) ;) (expression_statement (assignment_expression (pointer_expression * IDENT) = IDENT) ;) (return_statement return LIT ;) })) (return_statement return LIT ;) })))
(function_definition "undefined4\nFUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)\n\n{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}" (type_identifier "undefined4") (function_declarator "FUN_000742bc(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)" (identifier "FUN_000742bc") (parameter_list "(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,\n            undefined4 param_6)" (( "(") (parameter_declaration "int *param_1" (primitive_type "int") (pointer_declarator "*param_1" (* "*") (identifier "param_1"))) (, ",") (parameter_declaration "int param_2" (primitive_type "int") (identifier "param_2")) (, ",") (parameter_declaration "undefined4 param_3" (type_identifier "undefined4") (identifier "param_3")) (, ",") (parameter_declaration "undefined4 param_4" (type_identifier "undefined4") (identifier "param_4")) (, ",") (parameter_declaration "undefined4 param_5" (type_identifier "undefined4") (identifier "param_5")) (, ",") (parameter_declaration "undefined4 param_6" (type_identifier "undefined4") (identifier "param_6")) () ")"))) (compound_statement "{\n  int iVar1;\n  \n  *param_1 = 0;\n  iVar1 = sqlite3_malloc(0x60);\n  if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }\n  return 7;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (expression_statement "*param_1 = 0;" (assignment_expression "*param_1 = 0" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (number_literal "0")) (; ";")) (expression_statement "iVar1 = sqlite3_malloc(0x60);" (assignment_expression "iVar1 = sqlite3_malloc(0x60)" (identifier "iVar1") (= "=") (call_expression "sqlite3_malloc(0x60)" (identifier "sqlite3_malloc") (argument_list "(0x60)" (( "(") (number_literal "0x60") () ")")))) (; ";")) (if_statement "if (iVar1 != 0) {\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }" (if "if") (parenthesized_expression "(iVar1 != 0)" (( "(") (binary_expression "iVar1 != 0" (identifier "iVar1") (!= "!=") (number_literal "0")) () ")")) (compound_statement "{\n    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);\n    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);\n    *(undefined4 *)(iVar1 + 0xc) = param_5;\n    *(undefined4 *)(iVar1 + 0x10) = param_4;\n    *(int *)(iVar1 + 0x20) = param_2;\n    *(undefined4 *)(iVar1 + 0x24) = param_3;\n    *(undefined4 *)(iVar1 + 0x3c) = param_6;\n    *param_1 = iVar1;\n    return 0;\n  }" ({ "{") (expression_statement "iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);" (assignment_expression "iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60)" (identifier "iVar1") (= "=") (call_expression "(*(code *)PTR_memset_00190d58)(iVar1,0,0x60)" (parenthesized_expression "(*(code *)PTR_memset_00190d58)" (( "(") (pointer_expression "*(code *)PTR_memset_00190d58" (* "*") (cast_expression "(code *)PTR_memset_00190d58" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR_memset_00190d58"))) () ")")) (argument_list "(iVar1,0,0x60)" (( "(") (identifier "iVar1") (, ",") (number_literal "0") (, ",") (number_literal "0x60") () ")")))) (; ";")) (expression_statement "*(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);" (assignment_expression "*(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0)" (pointer_expression "*(uint *)(iVar1 + 0x28)" (* "*") (cast_expression "(uint *)(iVar1 + 0x28)" (( "(") (type_descriptor "uint *" (type_identifier "uint") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x28)" (( "(") (binary_expression "iVar1 + 0x28" (identifier "iVar1") (+ "+") (number_literal "0x28")) () ")")))) (= "=") (call_expression "(uint)(param_2 == 0)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_2 == 0)" (( "(") (binary_expression "param_2 == 0" (identifier "param_2") (== "==") (number_literal "0")) () ")")))) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0xc) = param_5;" (assignment_expression "*(undefined4 *)(iVar1 + 0xc) = param_5" (pointer_expression "*(undefined4 *)(iVar1 + 0xc)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0xc)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0xc)" (( "(") (binary_expression "iVar1 + 0xc" (identifier "iVar1") (+ "+") (number_literal "0xc")) () ")")))) (= "=") (identifier "param_5")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x10) = param_4;" (assignment_expression "*(undefined4 *)(iVar1 + 0x10) = param_4" (pointer_expression "*(undefined4 *)(iVar1 + 0x10)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x10)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x10)" (( "(") (binary_expression "iVar1 + 0x10" (identifier "iVar1") (+ "+") (number_literal "0x10")) () ")")))) (= "=") (identifier "param_4")) (; ";")) (expression_statement "*(int *)(iVar1 + 0x20) = param_2;" (assignment_expression "*(int *)(iVar1 + 0x20) = param_2" (pointer_expression "*(int *)(iVar1 + 0x20)" (* "*") (cast_expression "(int *)(iVar1 + 0x20)" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x20)" (( "(") (binary_expression "iVar1 + 0x20" (identifier "iVar1") (+ "+") (number_literal "0x20")) () ")")))) (= "=") (identifier "param_2")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x24) = param_3;" (assignment_expression "*(undefined4 *)(iVar1 + 0x24) = param_3" (pointer_expression "*(undefined4 *)(iVar1 + 0x24)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x24)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x24)" (( "(") (binary_expression "iVar1 + 0x24" (identifier "iVar1") (+ "+") (number_literal "0x24")) () ")")))) (= "=") (identifier "param_3")) (; ";")) (expression_statement "*(undefined4 *)(iVar1 + 0x3c) = param_6;" (assignment_expression "*(undefined4 *)(iVar1 + 0x3c) = param_6" (pointer_expression "*(undefined4 *)(iVar1 + 0x3c)" (* "*") (cast_expression "(undefined4 *)(iVar1 + 0x3c)" (( "(") (type_descriptor "undefined4 *" (type_identifier "undefined4") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(iVar1 + 0x3c)" (( "(") (binary_expression "iVar1 + 0x3c" (identifier "iVar1") (+ "+") (number_literal "0x3c")) () ")")))) (= "=") (identifier "param_6")) (; ";")) (expression_statement "*param_1 = iVar1;" (assignment_expression "*param_1 = iVar1" (pointer_expression "*param_1" (* "*") (identifier "param_1")) (= "=") (identifier "iVar1")) (; ";")) (return_statement "return 0;" (return "return") (number_literal "0") (; ";")) (} "}"))) (return_statement "return 7;" (return "return") (number_literal "7") (; ";")) (} "}")))

int function_1
              (type_1 **pp,type_2 *var_3,void *pIn,
              int nChangeset,void *pChangeset,int bInvert)

{
  void *var_2;
  type_1 *psVar2;
  
  *pp = (type_1 *)0x0;
  var_2 = var_1(0x60);
  if (var_2 != (void *)0x0) {
    psVar2 = (type_1 *)(*(type_3 *)PTR_memset_00190d58)(var_2,0,0x60);
    (psVar2->in).bEof = (uint)(var_3 == (type_2 *)0x0);
    (psVar2->in).aData = (type_4 *)pChangeset;
    (psVar2->in).nData = nChangeset;
    (psVar2->in).var_3 = var_3;
    (psVar2->in).pIn = pIn;
    psVar2->bInvert = bInvert;
    *pp = psVar2;
    return 0;
  }
  return 7;
}


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

undefined4
MASKED(int *param_1,int param_2,undefined4 param_3,undefined4 param_4,undefined4 param_5,
            undefined4 param_6)

{
  int iVar1;
  
  *param_1 = 0;
  iVar1 = sqlite3_malloc(0x60);
  if (iVar1 != 0) {
    iVar1 = (*(code *)PTR_memset_00190d58)(iVar1,0,0x60);
    *(uint *)(iVar1 + 0x28) = (uint)(param_2 == 0);
    *(undefined4 *)(iVar1 + 0xc) = param_5;
    *(undefined4 *)(iVar1 + 0x10) = param_4;
    *(int *)(iVar1 + 0x20) = param_2;
    *(undefined4 *)(iVar1 + 0x24) = param_3;
    *(undefined4 *)(iVar1 + 0x3c) = param_6;
    *param_1 = iVar1;
    return 0;
  }
  return 7;
}

