
int sqlite3changeset_apply_v2_strm
              (sqlite3 *db,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,
              _func_int_void_ptr_char_ptr *xFilter,
              _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict,void *pCtx,
              void **ppRebase,int *pnRebase,int flags)

{
  int iVar1;
  sqlite3 *db_00;
  _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict_00;
  void **pCtx_00;
  sqlite3_changeset_iter *pIter;
  sqlite3 *psStack_24;
  
  psStack_24 = *(sqlite3 **)PTR___stack_chk_guard_0018fecc;
  pCtx_00 = (void **)((uint)(flags << 0x1e) >> 0x1f);
  xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)0x0;
  iVar1 = (*(code *)(PTR_LAB_0018fc24 + -0x628c))(&pIter,xInput,pIn,0);
  if (iVar1 == 0) {
    iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags);
    xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter;
    pIn = xFilter;
    xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx;
    pCtx_00 = ppRebase;
  }
  if (psStack_24 == *(sqlite3 **)PTR___stack_chk_guard_0018fecc) {
    return iVar1;
  }
  db_00 = psStack_24;
  (*(code *)PTR___stack_chk_fail_0018fea0)();
  iVar1 = sqlite3changeset_apply_v2_strm
                    (db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,
                     (void **)0x0,(int *)0x0,0);
  return iVar1;
}



void sqlite3changeset_apply_v2_strm
               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
               int param_9)

{
  int iVar1;
  undefined4 local_28;
  int local_24;
  
  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;
  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))
                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);
  if (iVar1 == 0) {
    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);
  }
  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {
    return;
  }
  (*(code *)PTR___stack_chk_fail_0018fea0)();
  sqlite3changeset_apply_v2_strm();
  return;
}


lui gp,0x4
addiu gp,gp,-0x6adc
addu gp,gp,t9
addiu sp,sp,-0x50
sw ra,0x4c(sp)
sw s6,0x48(sp)
sw s5,0x44(sp)
sw s4,0x40(sp)
sw s3,0x3c(sp)
sw s2,0x38(sp)
sw s1,0x34(sp)
sw s0,0x30(sp)
sw gp,0x20(sp)
or s1,a0,zero
or s2,a3,zero
lw s3,0x60(sp)
lw s4,0x64(sp)
lw s5,0x68(sp)
lw s6,0x6c(sp)
lw s0,0x70(sp)
lw v0,-0x7a54(gp)
lw v0,0x0(v0)
sw v0,0x2c(sp)
ext v0,s0,0x1,0x1
sw v0,0x14(sp)
sw zero,0x10(sp)
or a3,zero,zero
addiu a0,sp,0x28
lw t9,-0x7cfc(gp)
addiu t9,t9,-0x628c
jalr t9
_nop
lw gp,0x20(sp)
beq v0,zero,0x0015e4c0
_or a3,s3,zero
lw a0,0x2c(sp)
lw v1,-0x7a54(gp)
lw v1,0x0(v1)
bne a0,v1,0x0015e4f8
_lw ra,0x4c(sp)
lw s6,0x48(sp)
lw s5,0x44(sp)
lw s4,0x40(sp)
lw s3,0x3c(sp)
lw s2,0x38(sp)
lw s1,0x34(sp)
lw s0,0x30(sp)
jr ra
_addiu sp,sp,0x50
sw s0,0x1c(sp)
sw s6,0x18(sp)
sw s5,0x14(sp)
sw s4,0x10(sp)
or a2,s2,zero
lw a1,0x28(sp)
or a0,s1,zero
lw t9,-0x7fc8(gp)
addiu t9,t9,-0x324c
bal 0x0015cdb4
_nop
lw gp,0x20(sp)
b 0x0015e488
_nop
lw t9,-0x7a80(gp)
jalr t9
_nop
lui gp,0x4
addiu gp,gp,-0x6be4
addu gp,gp,t9
addiu sp,sp,-0x38
sw ra,0x34(sp)
sw gp,0x28(sp)
sw zero,0x20(sp)
sw zero,0x1c(sp)
sw zero,0x18(sp)
lw v0,0x4c(sp)
sw v0,0x14(sp)
lw v0,0x48(sp)
sw v0,0x10(sp)
lw t9,-0x7bf4(gp)
bal 0x0015e3fc
_nop
lw gp,0x28(sp)
lw ra,0x34(sp)
jr ra
_addiu sp,sp,0x38
(translation_unit "void sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)\n\n{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}\n\n" (function_definition "void sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)\n\n{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}" primitive_type (function_declarator "sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier 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) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_0018fecc;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_0018fecc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" * (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);" (assignment_expression "iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" identifier = (call_expression "(*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_DAT_0018fc24 + -0x628c))" ( (pointer_expression "*(code *)(PTR_DAT_0018fc24 + -0x628c)" * (cast_expression "(code *)(PTR_DAT_0018fc24 + -0x628c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0018fc24 + -0x628c)" ( (binary_expression "PTR_DAT_0018fc24 + -0x628c" identifier + number_literal) )))) )) (argument_list "(&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" ( (pointer_expression "&local_28" & identifier) , identifier , identifier , number_literal , number_literal , (binary_expression "(uint)(param_9 << 0x1e) >> 0x1f" (call_expression "(uint)(param_9 << 0x1e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_9 << 0x1e)" ( (binary_expression "param_9 << 0x1e" identifier << number_literal) ))) >> number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }" { (expression_statement "FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);" (call_expression "FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9)" identifier (argument_list "(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)PTR___stack_chk_guard_0018fecc)" ( (binary_expression "local_24 == *(int *)PTR___stack_chk_guard_0018fecc" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" * (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" * (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "sqlite3changeset_apply_v2_strm();" (call_expression "sqlite3changeset_apply_v2_strm()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "int sqlite3changeset_apply_v2_strm\n              (sqlite3 *db,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              _func_int_void_ptr_char_ptr *xFilter,\n              _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict,void *pCtx,\n              void **ppRebase,int *pnRebase,int flags)\n\n{\n  int iVar1;\n  sqlite3 *db_00;\n  _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict_00;\n  void **pCtx_00;\n  sqlite3_changeset_iter *pIter;\n  sqlite3 *psStack_24;\n  \n  psStack_24 = *(sqlite3 **)PTR___stack_chk_guard_0018fecc;\n  pCtx_00 = (void **)((uint)(flags << 0x1e) >> 0x1f);\n  xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)0x0;\n  iVar1 = (*(code *)(PTR_LAB_0018fc24 + -0x628c))(&pIter,xInput,pIn,0);\n  if (iVar1 == 0) {\n    iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags);\n    xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter;\n    pIn = xFilter;\n    xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx;\n    pCtx_00 = ppRebase;\n  }\n  if (psStack_24 == *(sqlite3 **)PTR___stack_chk_guard_0018fecc) {\n    return iVar1;\n  }\n  db_00 = psStack_24;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  iVar1 = sqlite3changeset_apply_v2_strm\n                    (db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,\n                     (void **)0x0,(int *)0x0,0);\n  return iVar1;\n}\n\n" (function_definition "int sqlite3changeset_apply_v2_strm\n              (sqlite3 *db,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              _func_int_void_ptr_char_ptr *xFilter,\n              _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict,void *pCtx,\n              void **ppRebase,int *pnRebase,int flags)\n\n{\n  int iVar1;\n  sqlite3 *db_00;\n  _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict_00;\n  void **pCtx_00;\n  sqlite3_changeset_iter *pIter;\n  sqlite3 *psStack_24;\n  \n  psStack_24 = *(sqlite3 **)PTR___stack_chk_guard_0018fecc;\n  pCtx_00 = (void **)((uint)(flags << 0x1e) >> 0x1f);\n  xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)0x0;\n  iVar1 = (*(code *)(PTR_LAB_0018fc24 + -0x628c))(&pIter,xInput,pIn,0);\n  if (iVar1 == 0) {\n    iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags);\n    xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter;\n    pIn = xFilter;\n    xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx;\n    pCtx_00 = ppRebase;\n  }\n  if (psStack_24 == *(sqlite3 **)PTR___stack_chk_guard_0018fecc) {\n    return iVar1;\n  }\n  db_00 = psStack_24;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  iVar1 = sqlite3changeset_apply_v2_strm\n                    (db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,\n                     (void **)0x0,(int *)0x0,0);\n  return iVar1;\n}" primitive_type (function_declarator "sqlite3changeset_apply_v2_strm\n              (sqlite3 *db,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              _func_int_void_ptr_char_ptr *xFilter,\n              _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict,void *pCtx,\n              void **ppRebase,int *pnRebase,int flags)" identifier (parameter_list "(sqlite3 *db,_func_int_void_ptr_void_ptr_int_ptr *xInput,void *pIn,\n              _func_int_void_ptr_char_ptr *xFilter,\n              _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict,void *pCtx,\n              void **ppRebase,int *pnRebase,int flags)" ( (parameter_declaration "sqlite3 *db" type_identifier (pointer_declarator "*db" * 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 "_func_int_void_ptr_char_ptr *xFilter" type_identifier (pointer_declarator "*xFilter" * identifier)) , (parameter_declaration "_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict" type_identifier (pointer_declarator "*xConflict" * identifier)) , (parameter_declaration "void *pCtx" primitive_type (pointer_declarator "*pCtx" * identifier)) , (parameter_declaration "void **ppRebase" primitive_type (pointer_declarator "**ppRebase" * (pointer_declarator "*ppRebase" * identifier))) , (parameter_declaration "int *pnRebase" primitive_type (pointer_declarator "*pnRebase" * identifier)) , (parameter_declaration "int flags" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  sqlite3 *db_00;\n  _func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict_00;\n  void **pCtx_00;\n  sqlite3_changeset_iter *pIter;\n  sqlite3 *psStack_24;\n  \n  psStack_24 = *(sqlite3 **)PTR___stack_chk_guard_0018fecc;\n  pCtx_00 = (void **)((uint)(flags << 0x1e) >> 0x1f);\n  xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)0x0;\n  iVar1 = (*(code *)(PTR_LAB_0018fc24 + -0x628c))(&pIter,xInput,pIn,0);\n  if (iVar1 == 0) {\n    iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags);\n    xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter;\n    pIn = xFilter;\n    xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx;\n    pCtx_00 = ppRebase;\n  }\n  if (psStack_24 == *(sqlite3 **)PTR___stack_chk_guard_0018fecc) {\n    return iVar1;\n  }\n  db_00 = psStack_24;\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  iVar1 = sqlite3changeset_apply_v2_strm\n                    (db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,\n                     (void **)0x0,(int *)0x0,0);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "sqlite3 *db_00;" type_identifier (pointer_declarator "*db_00" * identifier) ;) (declaration "_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *xConflict_00;" type_identifier (pointer_declarator "*xConflict_00" * identifier) ;) (declaration "void **pCtx_00;" primitive_type (pointer_declarator "**pCtx_00" * (pointer_declarator "*pCtx_00" * identifier)) ;) (declaration "sqlite3_changeset_iter *pIter;" type_identifier (pointer_declarator "*pIter" * identifier) ;) (declaration "sqlite3 *psStack_24;" type_identifier (pointer_declarator "*psStack_24" * identifier) ;) (expression_statement "psStack_24 = *(sqlite3 **)PTR___stack_chk_guard_0018fecc;" (assignment_expression "psStack_24 = *(sqlite3 **)PTR___stack_chk_guard_0018fecc" identifier = (pointer_expression "*(sqlite3 **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(sqlite3 **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) ;) (expression_statement "pCtx_00 = (void **)((uint)(flags << 0x1e) >> 0x1f);" (assignment_expression "pCtx_00 = (void **)((uint)(flags << 0x1e) >> 0x1f)" identifier = (cast_expression "(void **)((uint)(flags << 0x1e) >> 0x1f)" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) (parenthesized_expression "((uint)(flags << 0x1e) >> 0x1f)" ( (binary_expression "(uint)(flags << 0x1e) >> 0x1f" (call_expression "(uint)(flags << 0x1e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(flags << 0x1e)" ( (binary_expression "flags << 0x1e" identifier << number_literal) ))) >> number_literal) )))) ;) (expression_statement "xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)0x0;" (assignment_expression "xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)0x0" identifier = (cast_expression "(_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)0x0" ( (type_descriptor "_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) number_literal)) ;) (expression_statement "iVar1 = (*(code *)(PTR_LAB_0018fc24 + -0x628c))(&pIter,xInput,pIn,0);" (assignment_expression "iVar1 = (*(code *)(PTR_LAB_0018fc24 + -0x628c))(&pIter,xInput,pIn,0)" identifier = (call_expression "(*(code *)(PTR_LAB_0018fc24 + -0x628c))(&pIter,xInput,pIn,0)" (parenthesized_expression "(*(code *)(PTR_LAB_0018fc24 + -0x628c))" ( (pointer_expression "*(code *)(PTR_LAB_0018fc24 + -0x628c)" * (cast_expression "(code *)(PTR_LAB_0018fc24 + -0x628c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_LAB_0018fc24 + -0x628c)" ( (binary_expression "PTR_LAB_0018fc24 + -0x628c" identifier + number_literal) )))) )) (argument_list "(&pIter,xInput,pIn,0)" ( (pointer_expression "&pIter" & identifier) , identifier , identifier , number_literal )))) ;) (if_statement "if (iVar1 == 0) {\n    iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags);\n    xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter;\n    pIn = xFilter;\n    xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx;\n    pCtx_00 = ppRebase;\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags);\n    xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter;\n    pIn = xFilter;\n    xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx;\n    pCtx_00 = ppRebase;\n  }" { (expression_statement "iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags);" (assignment_expression "iVar1 = sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags)" identifier = (call_expression "sessionChangesetApply(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags)" identifier (argument_list "(db,pIter,xFilter,xConflict,pCtx,ppRebase,pnRebase,flags)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier )))) ;) (expression_statement "xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter;" (assignment_expression "xInput = (_func_int_void_ptr_void_ptr_int_ptr *)pIter" identifier = (cast_expression "(_func_int_void_ptr_void_ptr_int_ptr *)pIter" ( (type_descriptor "_func_int_void_ptr_void_ptr_int_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pIn = xFilter;" (assignment_expression "pIn = xFilter" identifier = identifier) ;) (expression_statement "xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx;" (assignment_expression "xConflict_00 = (_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx" identifier = (cast_expression "(_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *)pCtx" ( (type_descriptor "_func_int_void_ptr_int_sqlite3_changeset_iter_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) ;) (expression_statement "pCtx_00 = ppRebase;" (assignment_expression "pCtx_00 = ppRebase" identifier = identifier) ;) })) (if_statement "if (psStack_24 == *(sqlite3 **)PTR___stack_chk_guard_0018fecc) {\n    return iVar1;\n  }" if (parenthesized_expression "(psStack_24 == *(sqlite3 **)PTR___stack_chk_guard_0018fecc)" ( (binary_expression "psStack_24 == *(sqlite3 **)PTR___stack_chk_guard_0018fecc" identifier == (pointer_expression "*(sqlite3 **)PTR___stack_chk_guard_0018fecc" * (cast_expression "(sqlite3 **)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "sqlite3 **" type_identifier (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) identifier))) )) (compound_statement "{\n    return iVar1;\n  }" { (return_statement "return iVar1;" return identifier ;) })) (expression_statement "db_00 = psStack_24;" (assignment_expression "db_00 = psStack_24" identifier = identifier) ;) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" * (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "iVar1 = sqlite3changeset_apply_v2_strm\n                    (db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,\n                     (void **)0x0,(int *)0x0,0);" (assignment_expression "iVar1 = sqlite3changeset_apply_v2_strm\n                    (db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,\n                     (void **)0x0,(int *)0x0,0)" identifier = (call_expression "sqlite3changeset_apply_v2_strm\n                    (db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,\n                     (void **)0x0,(int *)0x0,0)" identifier (argument_list "(db_00,xInput,pIn,(_func_int_void_ptr_char_ptr *)xConflict,xConflict_00,pCtx_00,\n                     (void **)0x0,(int *)0x0,0)" ( identifier , identifier , identifier , (cast_expression "(_func_int_void_ptr_char_ptr *)xConflict" ( (type_descriptor "_func_int_void_ptr_char_ptr *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier) , identifier , identifier , (cast_expression "(void **)0x0" ( (type_descriptor "void **" primitive_type (abstract_pointer_declarator "**" * (abstract_pointer_declarator "*" *))) ) number_literal) , (cast_expression "(int *)0x0" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) number_literal) , number_literal )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "void sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)\n\n{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}\n\n" (function_definition "void sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)\n\n{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}" primitive_type (function_declarator "sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)" identifier (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)" ( (parameter_declaration "undefined4 param_1" type_identifier identifier) , (parameter_declaration "undefined4 param_2" type_identifier 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) , (parameter_declaration "undefined4 param_7" type_identifier identifier) , (parameter_declaration "undefined4 param_8" type_identifier identifier) , (parameter_declaration "int param_9" primitive_type identifier) ))) (compound_statement "{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (declaration "undefined4 local_28;" type_identifier identifier ;) (declaration "int local_24;" primitive_type identifier ;) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_0018fecc;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_0018fecc" identifier = (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" * (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) ;) (expression_statement "iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);" (assignment_expression "iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" identifier = (call_expression "(*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_DAT_0018fc24 + -0x628c))" ( (pointer_expression "*(code *)(PTR_DAT_0018fc24 + -0x628c)" * (cast_expression "(code *)(PTR_DAT_0018fc24 + -0x628c)" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) (parenthesized_expression "(PTR_DAT_0018fc24 + -0x628c)" ( (binary_expression "PTR_DAT_0018fc24 + -0x628c" identifier + number_literal) )))) )) (argument_list "(&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" ( (pointer_expression "&local_28" & identifier) , identifier , identifier , number_literal , number_literal , (binary_expression "(uint)(param_9 << 0x1e) >> 0x1f" (call_expression "(uint)(param_9 << 0x1e)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(param_9 << 0x1e)" ( (binary_expression "param_9 << 0x1e" identifier << number_literal) ))) >> number_literal) )))) ;) (if_statement "if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }" if (parenthesized_expression "(iVar1 == 0)" ( (binary_expression "iVar1 == 0" identifier == number_literal) )) (compound_statement "{\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }" { (expression_statement "FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);" (call_expression "FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9)" identifier (argument_list "(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9)" ( identifier , identifier , identifier , identifier , identifier , identifier , identifier , identifier ))) ;) })) (if_statement "if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }" if (parenthesized_expression "(local_24 == *(int *)PTR___stack_chk_guard_0018fecc)" ( (binary_expression "local_24 == *(int *)PTR___stack_chk_guard_0018fecc" identifier == (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" * (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" ( (type_descriptor "int *" primitive_type (abstract_pointer_declarator "*" *)) ) identifier))) )) (compound_statement "{\n    return;\n  }" { (return_statement "return;" return ;) })) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" ( (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" * (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" ( (type_descriptor "code *" type_identifier (abstract_pointer_declarator "*" *)) ) identifier)) )) (argument_list "()" ( ))) ;) (expression_statement "sqlite3changeset_apply_v2_strm();" (call_expression "sqlite3changeset_apply_v2_strm()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE IDENT) , (parameter_declaration TYPE 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 ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) (parenthesized_expression ( (binary_expression IDENT + LIT) )))) )) (argument_list ( (pointer_expression & IDENT) , IDENT , IDENT , LIT , LIT , (binary_expression (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression IDENT << LIT) ))) >> LIT) )))) ;) (if_statement if (parenthesized_expression ( (binary_expression IDENT == LIT) )) (compound_statement { (expression_statement (call_expression IDENT (argument_list ( IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT , IDENT ))) ;) })) (if_statement if (parenthesized_expression ( (binary_expression IDENT == (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT))) )) (compound_statement { (return_statement return ;) })) (expression_statement (call_expression (parenthesized_expression ( (pointer_expression * (cast_expression ( (type_descriptor TYPE (abstract_pointer_declarator *)) ) IDENT)) )) (argument_list ( ))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)\n\n{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}" (primitive_type "void") (function_declarator "sqlite3changeset_apply_v2_strm\n               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)" (identifier "sqlite3changeset_apply_v2_strm") (parameter_list "(undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,\n               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,\n               int param_9)" (( "(") (parameter_declaration "undefined4 param_1" (type_identifier "undefined4") (identifier "param_1")) (, ",") (parameter_declaration "undefined4 param_2" (type_identifier "undefined4") (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")) (, ",") (parameter_declaration "undefined4 param_7" (type_identifier "undefined4") (identifier "param_7")) (, ",") (parameter_declaration "undefined4 param_8" (type_identifier "undefined4") (identifier "param_8")) (, ",") (parameter_declaration "int param_9" (primitive_type "int") (identifier "param_9")) () ")"))) (compound_statement "{\n  int iVar1;\n  undefined4 local_28;\n  int local_24;\n  \n  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;\n  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);\n  if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }\n  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }\n  (*(code *)PTR___stack_chk_fail_0018fea0)();\n  sqlite3changeset_apply_v2_strm();\n  return;\n}" ({ "{") (declaration "int iVar1;" (primitive_type "int") (identifier "iVar1") (; ";")) (declaration "undefined4 local_28;" (type_identifier "undefined4") (identifier "local_28") (; ";")) (declaration "int local_24;" (primitive_type "int") (identifier "local_24") (; ";")) (expression_statement "local_24 = *(int *)PTR___stack_chk_guard_0018fecc;" (assignment_expression "local_24 = *(int *)PTR___stack_chk_guard_0018fecc" (identifier "local_24") (= "=") (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0018fecc")))) (; ";")) (expression_statement "iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);" (assignment_expression "iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" (identifier "iVar1") (= "=") (call_expression "(*(code *)(PTR_DAT_0018fc24 + -0x628c))\n                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" (parenthesized_expression "(*(code *)(PTR_DAT_0018fc24 + -0x628c))" (( "(") (pointer_expression "*(code *)(PTR_DAT_0018fc24 + -0x628c)" (* "*") (cast_expression "(code *)(PTR_DAT_0018fc24 + -0x628c)" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (parenthesized_expression "(PTR_DAT_0018fc24 + -0x628c)" (( "(") (binary_expression "PTR_DAT_0018fc24 + -0x628c" (identifier "PTR_DAT_0018fc24") (+ "+") (number_literal "-0x628c")) () ")")))) () ")")) (argument_list "(&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f)" (( "(") (pointer_expression "&local_28" (& "&") (identifier "local_28")) (, ",") (identifier "param_2") (, ",") (identifier "param_3") (, ",") (number_literal "0") (, ",") (number_literal "0") (, ",") (binary_expression "(uint)(param_9 << 0x1e) >> 0x1f" (call_expression "(uint)(param_9 << 0x1e)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(param_9 << 0x1e)" (( "(") (binary_expression "param_9 << 0x1e" (identifier "param_9") (<< "<<") (number_literal "0x1e")) () ")"))) (>> ">>") (number_literal "0x1f")) () ")")))) (; ";")) (if_statement "if (iVar1 == 0) {\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }" (if "if") (parenthesized_expression "(iVar1 == 0)" (( "(") (binary_expression "iVar1 == 0" (identifier "iVar1") (== "==") (number_literal "0")) () ")")) (compound_statement "{\n    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);\n  }" ({ "{") (expression_statement "FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);" (call_expression "FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9)" (identifier "FUN_0015cdb4") (argument_list "(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9)" (( "(") (identifier "param_1") (, ",") (identifier "local_28") (, ",") (identifier "param_4") (, ",") (identifier "param_5") (, ",") (identifier "param_6") (, ",") (identifier "param_7") (, ",") (identifier "param_8") (, ",") (identifier "param_9") () ")"))) (; ";")) (} "}"))) (if_statement "if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {\n    return;\n  }" (if "if") (parenthesized_expression "(local_24 == *(int *)PTR___stack_chk_guard_0018fecc)" (( "(") (binary_expression "local_24 == *(int *)PTR___stack_chk_guard_0018fecc" (identifier "local_24") (== "==") (pointer_expression "*(int *)PTR___stack_chk_guard_0018fecc" (* "*") (cast_expression "(int *)PTR___stack_chk_guard_0018fecc" (( "(") (type_descriptor "int *" (primitive_type "int") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_guard_0018fecc")))) () ")")) (compound_statement "{\n    return;\n  }" ({ "{") (return_statement "return;" (return "return") (; ";")) (} "}"))) (expression_statement "(*(code *)PTR___stack_chk_fail_0018fea0)();" (call_expression "(*(code *)PTR___stack_chk_fail_0018fea0)()" (parenthesized_expression "(*(code *)PTR___stack_chk_fail_0018fea0)" (( "(") (pointer_expression "*(code *)PTR___stack_chk_fail_0018fea0" (* "*") (cast_expression "(code *)PTR___stack_chk_fail_0018fea0" (( "(") (type_descriptor "code *" (type_identifier "code") (abstract_pointer_declarator "*" (* "*"))) () ")") (identifier "PTR___stack_chk_fail_0018fea0"))) () ")")) (argument_list "()" (( "(") () ")"))) (; ";")) (expression_statement "sqlite3changeset_apply_v2_strm();" (call_expression "sqlite3changeset_apply_v2_strm()" (identifier "sqlite3changeset_apply_v2_strm") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))
(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (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)) (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)) (parameter_declaration type: (primitive_type) declarator: (identifier)))) body: (compound_statement (declaration type: (primitive_type) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (primitive_type) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) (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: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal)))))) arguments: (argument_list (pointer_expression argument: (identifier)) (identifier) (identifier) (number_literal) (number_literal) (binary_expression left: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (identifier) right: (number_literal)))) right: (number_literal)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (number_literal))) consequence: (compound_statement (expression_statement (call_expression function: (identifier) arguments: (argument_list (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier) (identifier)))))) (if_statement condition: (parenthesized_expression (binary_expression left: (identifier) right: (pointer_expression argument: (cast_expression type: (type_descriptor type: (primitive_type) declarator: (abstract_pointer_declarator)) value: (identifier))))) consequence: (compound_statement (return_statement))) (expression_statement (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))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

void MASKED
               (undefined4 param_1,undefined4 param_2,undefined4 param_3,undefined4 param_4,
               undefined4 param_5,undefined4 param_6,undefined4 param_7,undefined4 param_8,
               int param_9)

{
  int iVar1;
  undefined4 local_28;
  int local_24;
  
  local_24 = *(int *)PTR___stack_chk_guard_0018fecc;
  iVar1 = (*(code *)(PTR_DAT_0018fc24 + -0x628c))
                    (&local_28,param_2,param_3,0,0,(uint)(param_9 << 0x1e) >> 0x1f);
  if (iVar1 == 0) {
    FUN_0015cdb4(param_1,local_28,param_4,param_5,param_6,param_7,param_8,param_9);
  }
  if (local_24 == *(int *)PTR___stack_chk_guard_0018fecc) {
    return;
  }
  (*(code *)PTR___stack_chk_fail_0018fea0)();
  MASKED();
  return;
}

