
int sqlite3_prepare16_v3
              (sqlite3 *db,void *zSql,int nBytes,uint prepFlags,sqlite3_stmt **ppStmt,void **pzTail)

{
  int iVar1;
  
  iVar1 = sqlite3Prepare16((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,
                           prepFlags,ppStmt,pzTail);
  return iVar1;
}



void FUN_000c3220(void)

{
  uint uStack00000004;
  undefined4 uStack00000008;
  undefined4 uStack0000000c;
  byte in_stack_00000010;
  undefined4 in_stack_00000014;
  undefined4 in_stack_00000018;
  
  uStack0000000c = in_stack_00000018;
  uStack00000008 = in_stack_00000014;
  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);
  FUN_000c2f60();
  return;
}


PUSH EBX
MOV EBX,dword ptr [ESP + 0x1c]
MOV ECX,dword ptr [ESP + 0x10]
MOV EDX,dword ptr [ESP + 0xc]
MOV EAX,dword ptr [ESP + 0x8]
MOV dword ptr [ESP + 0x10],EBX
MOV EBX,dword ptr [ESP + 0x18]
MOV dword ptr [ESP + 0xc],EBX
MOV EBX,dword ptr [ESP + 0x14]
AND EBX,0xf
OR BL,0x80
MOV dword ptr [ESP + 0x8],EBX
POP EBX
JMP 0x000c2f60
(translation_unit "void FUN_000c3220(void)\n\n{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}\n\n" (function_definition "void FUN_000c3220(void)\n\n{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}" primitive_type (function_declarator "FUN_000c3220(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}" { (declaration "uint uStack00000004;" type_identifier identifier ;) (declaration "undefined4 uStack00000008;" type_identifier identifier ;) (declaration "undefined4 uStack0000000c;" type_identifier identifier ;) (declaration "byte in_stack_00000010;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000014;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000018;" type_identifier identifier ;) (expression_statement "uStack0000000c = in_stack_00000018;" (assignment_expression "uStack0000000c = in_stack_00000018" identifier = identifier) ;) (expression_statement "uStack00000008 = in_stack_00000014;" (assignment_expression "uStack00000008 = in_stack_00000014" identifier = identifier) ;) (expression_statement "uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);" (assignment_expression "uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80)" identifier = (call_expression "(uint)(in_stack_00000010 & 0xf | 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_00000010 & 0xf | 0x80)" ( (binary_expression "in_stack_00000010 & 0xf | 0x80" (binary_expression "in_stack_00000010 & 0xf" identifier & number_literal) | number_literal) )))) ;) (expression_statement "FUN_000c2f60();" (call_expression "FUN_000c2f60()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit "int sqlite3_prepare16_v3\n              (sqlite3 *db,void *zSql,int nBytes,uint prepFlags,sqlite3_stmt **ppStmt,void **pzTail)\n\n{\n  int iVar1;\n  \n  iVar1 = sqlite3Prepare16((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,\n                           prepFlags,ppStmt,pzTail);\n  return iVar1;\n}\n\n" (function_definition "int sqlite3_prepare16_v3\n              (sqlite3 *db,void *zSql,int nBytes,uint prepFlags,sqlite3_stmt **ppStmt,void **pzTail)\n\n{\n  int iVar1;\n  \n  iVar1 = sqlite3Prepare16((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,\n                           prepFlags,ppStmt,pzTail);\n  return iVar1;\n}" primitive_type (function_declarator "sqlite3_prepare16_v3\n              (sqlite3 *db,void *zSql,int nBytes,uint prepFlags,sqlite3_stmt **ppStmt,void **pzTail)" identifier (parameter_list "(sqlite3 *db,void *zSql,int nBytes,uint prepFlags,sqlite3_stmt **ppStmt,void **pzTail)" ( (parameter_declaration "sqlite3 *db" type_identifier (pointer_declarator "*db" * identifier)) , (parameter_declaration "void *zSql" primitive_type (pointer_declarator "*zSql" * identifier)) , (parameter_declaration "int nBytes" primitive_type identifier) , (parameter_declaration "uint prepFlags" type_identifier identifier) , (parameter_declaration "sqlite3_stmt **ppStmt" type_identifier (pointer_declarator "**ppStmt" * (pointer_declarator "*ppStmt" * identifier))) , (parameter_declaration "void **pzTail" primitive_type (pointer_declarator "**pzTail" * (pointer_declarator "*pzTail" * identifier))) ))) (compound_statement "{\n  int iVar1;\n  \n  iVar1 = sqlite3Prepare16((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,\n                           prepFlags,ppStmt,pzTail);\n  return iVar1;\n}" { (declaration "int iVar1;" primitive_type identifier ;) (expression_statement "iVar1 = sqlite3Prepare16((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,\n                           prepFlags,ppStmt,pzTail);" (assignment_expression "iVar1 = sqlite3Prepare16((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,\n                           prepFlags,ppStmt,pzTail)" identifier = (call_expression "sqlite3Prepare16((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,\n                           prepFlags,ppStmt,pzTail)" identifier (argument_list "((sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,\n                           prepFlags,ppStmt,pzTail)" ( (cast_expression "(sqlite3 *)(uint)((byte)prepFlags & 0xf | 0x80)" ( (type_descriptor "sqlite3 *" type_identifier (abstract_pointer_declarator "*" *)) ) (call_expression "(uint)((byte)prepFlags & 0xf | 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "((byte)prepFlags & 0xf | 0x80)" ( (binary_expression "(byte)prepFlags & 0xf | 0x80" (binary_expression "(byte)prepFlags & 0xf" (cast_expression "(byte)prepFlags" ( (type_descriptor "byte" type_identifier) ) identifier) & number_literal) | number_literal) )))) , identifier , (cast_expression "(int)pzTail" ( (type_descriptor "int" primitive_type) ) identifier) , identifier , identifier , identifier )))) ;) (return_statement "return iVar1;" return identifier ;) })))
(translation_unit "void FUN_000c3220(void)\n\n{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}\n\n" (function_definition "void FUN_000c3220(void)\n\n{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}" primitive_type (function_declarator "FUN_000c3220(void)" identifier (parameter_list "(void)" ( (parameter_declaration "void" primitive_type) ))) (compound_statement "{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}" { (declaration "uint uStack00000004;" type_identifier identifier ;) (declaration "undefined4 uStack00000008;" type_identifier identifier ;) (declaration "undefined4 uStack0000000c;" type_identifier identifier ;) (declaration "byte in_stack_00000010;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000014;" type_identifier identifier ;) (declaration "undefined4 in_stack_00000018;" type_identifier identifier ;) (expression_statement "uStack0000000c = in_stack_00000018;" (assignment_expression "uStack0000000c = in_stack_00000018" identifier = identifier) ;) (expression_statement "uStack00000008 = in_stack_00000014;" (assignment_expression "uStack00000008 = in_stack_00000014" identifier = identifier) ;) (expression_statement "uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);" (assignment_expression "uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80)" identifier = (call_expression "(uint)(in_stack_00000010 & 0xf | 0x80)" (parenthesized_expression "(uint)" ( identifier )) (argument_list "(in_stack_00000010 & 0xf | 0x80)" ( (binary_expression "in_stack_00000010 & 0xf | 0x80" (binary_expression "in_stack_00000010 & 0xf" identifier & number_literal) | number_literal) )))) ;) (expression_statement "FUN_000c2f60();" (call_expression "FUN_000c2f60()" identifier (argument_list "()" ( ))) ;) (return_statement "return;" return ;) })))
(translation_unit (function_definition TYPE (function_declarator IDENT (parameter_list ( (parameter_declaration TYPE) ))) (compound_statement { (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (declaration TYPE IDENT ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = IDENT) ;) (expression_statement (assignment_expression IDENT = (call_expression (parenthesized_expression ( IDENT )) (argument_list ( (binary_expression (binary_expression IDENT & LIT) | LIT) )))) ;) (expression_statement (call_expression IDENT (argument_list ( ))) ;) (return_statement return ;) })))
(function_definition "void FUN_000c3220(void)\n\n{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}" (primitive_type "void") (function_declarator "FUN_000c3220(void)" (identifier "FUN_000c3220") (parameter_list "(void)" (( "(") (parameter_declaration "void" (primitive_type "void")) () ")"))) (compound_statement "{\n  uint uStack00000004;\n  undefined4 uStack00000008;\n  undefined4 uStack0000000c;\n  byte in_stack_00000010;\n  undefined4 in_stack_00000014;\n  undefined4 in_stack_00000018;\n  \n  uStack0000000c = in_stack_00000018;\n  uStack00000008 = in_stack_00000014;\n  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);\n  FUN_000c2f60();\n  return;\n}" ({ "{") (declaration "uint uStack00000004;" (type_identifier "uint") (identifier "uStack00000004") (; ";")) (declaration "undefined4 uStack00000008;" (type_identifier "undefined4") (identifier "uStack00000008") (; ";")) (declaration "undefined4 uStack0000000c;" (type_identifier "undefined4") (identifier "uStack0000000c") (; ";")) (declaration "byte in_stack_00000010;" (type_identifier "byte") (identifier "in_stack_00000010") (; ";")) (declaration "undefined4 in_stack_00000014;" (type_identifier "undefined4") (identifier "in_stack_00000014") (; ";")) (declaration "undefined4 in_stack_00000018;" (type_identifier "undefined4") (identifier "in_stack_00000018") (; ";")) (expression_statement "uStack0000000c = in_stack_00000018;" (assignment_expression "uStack0000000c = in_stack_00000018" (identifier "uStack0000000c") (= "=") (identifier "in_stack_00000018")) (; ";")) (expression_statement "uStack00000008 = in_stack_00000014;" (assignment_expression "uStack00000008 = in_stack_00000014" (identifier "uStack00000008") (= "=") (identifier "in_stack_00000014")) (; ";")) (expression_statement "uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);" (assignment_expression "uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80)" (identifier "uStack00000004") (= "=") (call_expression "(uint)(in_stack_00000010 & 0xf | 0x80)" (parenthesized_expression "(uint)" (( "(") (identifier "uint") () ")")) (argument_list "(in_stack_00000010 & 0xf | 0x80)" (( "(") (binary_expression "in_stack_00000010 & 0xf | 0x80" (binary_expression "in_stack_00000010 & 0xf" (identifier "in_stack_00000010") (& "&") (number_literal "0xf")) (| "|") (number_literal "0x80")) () ")")))) (; ";")) (expression_statement "FUN_000c2f60();" (call_expression "FUN_000c2f60()" (identifier "FUN_000c2f60") (argument_list "()" (( "(") () ")"))) (; ";")) (return_statement "return;" (return "return") (; ";")) (} "}")))

int function_1
              (type_1 *db,void *zSql,int nBytes,type_2 prepFlags,type_3 **ppStmt,void **pzTail)

{
  int iVar1;
  
  iVar1 = var_1((type_1 *)(type_2)((type_4)prepFlags & 0xf | 0x80),ppStmt,(int)pzTail,
                           prepFlags,ppStmt,pzTail);
  return iVar1;
}


(translation_unit (function_definition type: (primitive_type) declarator: (function_declarator declarator: (identifier) parameters: (parameter_list (parameter_declaration type: (primitive_type)))) body: (compound_statement (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (declaration type: (type_identifier) declarator: (identifier)) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (identifier))) (expression_statement (assignment_expression left: (identifier) right: (call_expression function: (parenthesized_expression (identifier)) arguments: (argument_list (binary_expression left: (binary_expression left: (identifier) right: (number_literal)) right: (number_literal)))))) (expression_statement (call_expression function: (identifier) arguments: (argument_list))) (return_statement))))

void MASKED(void)

{
  uint uStack00000004;
  undefined4 uStack00000008;
  undefined4 uStack0000000c;
  byte in_stack_00000010;
  undefined4 in_stack_00000014;
  undefined4 in_stack_00000018;
  
  uStack0000000c = in_stack_00000018;
  uStack00000008 = in_stack_00000014;
  uStack00000004 = (uint)(in_stack_00000010 & 0xf | 0x80);
  FUN_000c2f60();
  return;
}

