Function at 0x1401cf790
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
movaps xmmword [rsp + 0x60], xmm6
mov rax, qword [rcx]
mov rbx, qword [rax + 0x18]
mov rdi, rcx
mov r14d, edx
mov r15, r8
mov qword [rsp + 0x58], 0
mov rax, qword [rbx + 0x30]
mov r12d, dword [rbx + 0x2c]
movzx r13d, byte [rbx + 0x6e]
mov qword [rsp + 0x38], rax
movsxd rax, dword [rbx + 0x78]
movq xmm6, rax
movsxd rax, dword [rbx + 0x80]
movq xmm0, rax
lea eax, [rdx - 1]
punpcklqdq xmm6, xmm0
cmp eax, 1
ja 0x1401cf9d0
mov rcx, qword [r8]
lea rbp, [0x140342d80]
movzx eax, word [rcx + 0x14]
mov rdx, rax
and edx, 0x3f
cmp byte [rbp + rdx], 5
je 0x1401cfc80
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x1401cfa50
test al, 1
jne 0x1401cfcc0
mov edx, 1
call dbg.valueToText
mov rsi, rax
lea rax, str.main
cmp r14d, 2
mov qword [rsp + 0x40], rax
je 0x1401cfc32
test rsi, rsi
je 0x1401cf8de
mov r14d, dword [rbx + 0x28]
test r14d, r14d
jle 0x1401cf8a0
mov rbp, qword [rbx + 0x20]
xor r15d, r15d
jmp 0x1401cf87d
add r15d, 1
add rbp, 0x20
cmp r15d, r14d
je 0x1401cf8a0
mov rcx, qword [rbp]
mov rdx, rsi
call sym.strcmp
test eax, eax
jne 0x1401cf870
test r15d, r15d
je 0x1401cf8a0
mov rax, qword [rbx + 0x30]
mov r8d, r15d
mov edx, dword [rbx + 0x2c]
jmp 0x1401cf8e8
lea rcx, str.main
mov r8, rsi
lea r9, [0x1403489c0]
jmp 0x1401cf8cf
movzx edx, byte [r9 + rdx]
cmp byte [r9 + rax], dl
jne 0x1401cfcf0
add rcx, 1
add r8, 1
movzx eax, byte [rcx]
movzx edx, byte [r8]
cmp eax, edx
jne 0x1401cf8b8
test eax, eax
jne 0x1401cf8c7
mov rax, qword [rbx + 0x30]
xor r8d, r8d
mov edx, dword [rbx + 0x2c]
mov byte [rbx + 0x6e], 0
or edx, 6
mov dword [rbx + 0x2c], edx
lea rcx, str.SELECT_sql___FROM__s.sqlite_schema_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
movabs rdx, 0xfffffffeefffafff
and rax, rdx
mov rdx, qword [rsp + 0x40]
mov byte [rbx + 0xc4], r8b
or rax, 0x201
mov qword [rbx + 0x30], rax
call dbg.sqlite3_mprintf
test rax, rax
mov r8, rax
je 0x1401cfc98
lea rdx, [rsp + 0x58]
mov rcx, rbx
mov qword [rsp + 0x48], rax
mov r15, rdx
call dbg.sqlcipher_execExecSql
mov r8, qword [rsp + 0x48]
test eax, eax
mov r14d, eax
je 0x1401cfa68
mov rax, qword [rsp + 0x38]
mov byte [rbx + 0xc4], 0
mov rcx, r8
mov dword [rbx + 0x2c], r12d
movups xmmword [rbx + 0x78], xmm6
mov byte [rbx + 0x6e], r13b
mov qword [rbx + 0x30], rax
call sym.sqlite3_free
mov rsi, qword [rsp + 0x58]
test rsi, rsi
je 0x1401cfd20
mov rcx, qword [rdi]
mov dword [rdi + 0x24], 1
mov rdx, rsi
mov r9d, 1
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r8, 0xffffffffffffffff
call dbg.sqlite3VdbeMemSetStr
nop
movaps xmm6, xmmword [rsp + 0x60]
mov rdx, rsi
mov rcx, rbx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3DbFreeNN
lea rcx, str.invalid_number_of_arguments___d__passed_to_sqlcipher_export
call dbg.sqlite3_mprintf
mov rsi, rax
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x38]
test rsi, rsi
mov byte [rbx + 0xc4], 0
mov dword [rbx + 0x2c], r12d
movups xmmword [rbx + 0x78], xmm6
mov qword [rbx + 0x30], rax
mov byte [rbx + 0x6e], r13b
jne 0x1401cf984
lea rdx, str.SQL_logic_error
mov rcx, qword [rdi]
mov dword [rdi + 0x24], 1
mov r9d, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], 0xffffffffffffffff
call dbg.sqlite3VdbeMemSetStr
nop
movaps xmm6, xmmword [rsp + 0x60]
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rcx + 0x16], 1
jne 0x1401cf826
mov rsi, qword [rcx + 8]
jmp 0x1401cf83b
mov rcx, r8
call sym.sqlite3_free
mov rdx, qword [rsp + 0x40]
lea rcx, str.SELECT_sql___FROM__s.sqlite_schema_WHERE_sql_LIKE_CREATE_INDEX___
call dbg.sqlite3_mprintf
test rax, rax
mov r8, rax
je 0x1401cfbf8
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x48], rax
call dbg.sqlcipher_execExecSql
mov r8, qword [rsp + 0x48]
test eax, eax
mov r14d, eax
jne 0x1401cf952
mov rcx, r8
call sym.sqlite3_free
mov rdx, qword [rsp + 0x40]
lea rcx, str.SELECT_sql___FROM__s.sqlite_schema_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX___
call dbg.sqlite3_mprintf
test rax, rax
mov r8, rax
je 0x1401cfbf8
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x48], rax
call dbg.sqlcipher_execExecSql
mov r8, qword [rsp + 0x48]
test eax, eax
mov r14d, eax
jne 0x1401cf952
mov rcx, r8
call sym.sqlite3_free
mov r9, qword [rsp + 0x40]
mov rdx, rsi
lea rcx, str.SELECT_INSERT_INTO__s.__quote_name____SELECT__FROM__s.__quote_name____FROM__s.sqlite_schema_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
mov r8, r9
call dbg.sqlite3_mprintf
test rax, rax
mov r8, rax
je 0x1401cfbf8
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x48], rax
call dbg.sqlcipher_execExecSql
mov r8, qword [rsp + 0x48]
test eax, eax
mov r14d, eax
jne 0x1401cf952
mov rcx, r8
call sym.sqlite3_free
mov r8, qword [rsp + 0x40]
mov r9, rsi
mov rdx, rsi
lea rcx, str.SELECT_INSERT_INTO__s.__quote_name____SELECT__FROM__s.__quote_name_____FROM__s.sqlite_schema_WHERE_namesqlite_sequence_
call dbg.sqlite3_mprintf
test rax, rax
mov r8, rax
je 0x1401cfbf8
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x48], rax
call dbg.sqlcipher_execExecSql
mov r8, qword [rsp + 0x48]
test eax, eax
mov r14d, eax
jne 0x1401cf952
mov rcx, r8
call sym.sqlite3_free
mov r8, qword [rsp + 0x40]
mov rdx, rsi
lea rcx, str.INSERT_INTO__s.sqlite_schema___SELECT_type__name__tbl_name__rootpage__sql____FROM__s.sqlite_schema___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
call dbg.sqlite3_mprintf
test rax, rax
mov r8, rax
je 0x1401cfbf8
mov rdx, r15
mov rcx, rbx
mov qword [rsp + 0x40], rax
call dbg.sqlcipher_execSql
mov r8, qword [rsp + 0x40]
test eax, eax
mov r14d, eax
jne 0x1401cf952
mov rcx, r8
call sym.sqlite3_free
mov rax, qword [rsp + 0x38]
mov byte [rbx + 0xc4], 0
mov dword [rbx + 0x2c], r12d
movups xmmword [rbx + 0x78], xmm6
mov byte [rbx + 0x6e], r13b
mov qword [rbx + 0x30], rax
jmp 0x1401cfa36
mov rsi, qword [rsp + 0x58]
mov dword [rbx + 0x2c], r12d
lea rdx, [0x14033729c]
mov rax, qword [rsp + 0x38]
mov byte [rbx + 0xc4], 0
movups xmmword [rbx + 0x78], xmm6
mov byte [rbx + 0x6e], r13b
test rsi, rsi
mov qword [rbx + 0x30], rax
jne 0x1401cf984
jmp 0x1401cfa10
xor esi, esi
mov rcx, qword [r15 + 8]
movzx eax, word [rcx + 0x14]
mov rdx, rax
and edx, 0x3f
cmp byte [rbp + rdx], 5
je 0x1401cfc80
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x1401cfd04
mov qword [rsp + 0x40], 0
test al, 1
jne 0x1401cf851
mov edx, 1
call dbg.valueToText
mov qword [rsp + 0x40], rax
jmp 0x1401cf851
lea rcx, str.target_database_cant_be_NULL
call dbg.sqlite3_mprintf
jmp 0x1401cf9dc
mov rax, qword [rsp + 0x38]
mov dword [rbx + 0x2c], r12d
lea rdx, [0x14033729c]
mov byte [rbx + 0xc4], 0
movups xmmword [rbx + 0x78], xmm6
mov byte [rbx + 0x6e], r13b
mov qword [rbx + 0x30], rax
jmp 0x1401cfa10
cmp r14d, 2
je 0x1401cfc30
mov rax, qword [rsp + 0x38]
mov edx, r12d
xor r8d, r8d
xor esi, esi
lea rcx, str.main
mov qword [rsp + 0x40], rcx
jmp 0x1401cf8e8
lea rcx, str.unknown_database__s
mov rdx, rsi
call dbg.sqlite3_mprintf
jmp 0x1401cf9dc
cmp byte [rcx + 0x16], 1
jne 0x1401cfc59
mov rax, qword [rcx + 8]
mov qword [rsp + 0x40], rax
jmp 0x1401cf851
lea rdx, str.no_more_rows_available
cmp r14d, 0x65
je 0x1401cfa10
lea rdx, str.abort_due_to_ROLLBACK
cmp r14d, 0x204
je 0x1401cfa10
lea rdx, str.another_row_available
cmp r14d, 0x64
je 0x1401cfa10
lea rdx, str.unknown_error
movzx r14d, r14b
cmp r14d, 0x1c
jg 0x1401cfa10
lea rax, str.not_an_error
mov rdx, qword [rax + r14*8]
test rdx, rdx
jne 0x1401cfa10
lea rdx, str.unknown_error
jmp 0x1401cfa10