Function at 0x14001f830
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xa8
mov rbx, rcx
mov ecx, 0x2060
mov qword [rsp + 0xf8], rdx
call sym.sqlite3_malloc
mov r14, rax
test rax, rax
je 0x14001f8b0
xor edx, edx
mov rcx, rax
mov r8d, 0x2060
call sym.memset
mov qword [r14 + 8], rbx
lea rbx, [0x140152a7c]
lea rdx, [r14 + 0x18]
mov dword [r14], 0x64
mov rcx, rbx
call sym.sqlite3_open
test eax, eax
jne 0x14001f8a8
lea rdx, [r14 + 0x10]
mov rcx, rbx
call sym.sqlite3_open
test eax, eax
je 0x14001f8d0
nop word [rax + rax]
mov rcx, r14
call sym.sqlite3_expert_destroy.part.0
xor r14d, r14d
mov rax, r14
add rsp, 0xa8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [r14 + 0x10]
xor r9d, r9d
mov r8d, 1
mov edx, 0x3f0
call sym.sqlite3_db_config
mov rcx, qword [r14 + 0x10]
xor edx, edx
lea r8, [sym.useDummyCS]
call sym.sqlite3_collation_needed
test eax, eax
jne 0x14001f8a8
mov rcx, qword [r14 + 0x18]
xor edx, edx
lea r8, [sym.useDummyCS]
call sym.sqlite3_collation_needed
test eax, eax
jne 0x14001f8a8
mov rdx, qword [r14 + 0x10]
mov rcx, qword [r14 + 8]
call sym.registerUDFs
test eax, eax
jne 0x14001f8a8
mov rdx, qword [r14 + 0x18]
mov rcx, qword [r14 + 8]
call sym.registerUDFs
test eax, eax
jne 0x14001f8a8
lea rax, [rsp + 0x98]
mov rcx, qword [r14 + 8]
mov r8, qword [rsp + 0xf8]
lea r9, str.SELECT_sql_FROM_sqlite_schema_WHERE_name_NOT_LIKE_sqlite____AND_sql_NOT_LIKE_CREATE_VIRTUAL___
mov rdx, rax
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x98], 0
call sym.idxPrintfPrepareStmt
mov rcx, qword [rsp + 0x98]
test eax, eax
je 0x14001f9a0
jmp 0x14001fff8
mov rcx, qword [rsp + 0x98]
xor edx, edx
call sym.sqlite3_column_text
test rax, rax
jne 0x140020020
mov rcx, qword [rsp + 0x98]
call sym.sqlite3_step
cmp eax, 0x64
je 0x14001f980
mov rcx, qword [rsp + 0x98]
call sym.sqlite3_finalize
test eax, eax
jne 0x14001f8a8
mov rcx, qword [r14 + 0x18]
mov r9, r14
lea r8, [0x14014a100]
lea rdx, str.expert
call sym.sqlite3_create_module
mov rbx, qword [r14 + 8]
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x88]
mov r8d, 0xffffffff
lea rdx, str.SELECT_type__name__sql__1_FROM_sqlite_schema_WHERE_type_IN__table_view__AND_name_NOT_LIKE_sqlite_____UNION_ALL_SELECT_type__name__sql__2_FROM_sqlite_schema_WHERE_type__trigger__AND_tbl_name_IN_SELECT_name_FROM_sqlite_schema_WHERE_type__view__ORDER_BY_4__1
mov qword [rsp + 0x88], 0
mov rcx, rbx
call sym.sqlite3_prepare_v2
test eax, eax
jne 0x1400200b0
mov dword [rsp + 0x80], 0
mov qword [rsp + 0x68], r14
nop word [rax + rax]
mov rcx, qword [rsp + 0x88]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x140020008
mov rcx, qword [rsp + 0x88]
xor edx, edx
call sym.sqlite3_column_text
mov rcx, qword [rsp + 0x88]
mov edx, 1
mov rbx, rax
call sym.sqlite3_column_text
mov rcx, qword [rsp + 0x88]
mov edx, 2
mov rdi, rax
call sym.sqlite3_column_text
test rbx, rbx
je 0x14001fc08
test rdi, rdi
je 0x14001fc08
cmp byte [rbx], 0x76
je 0x14001fc28
cmp byte [rbx + 1], 0x72
je 0x14001fc28
mov rax, qword [rsp + 0x68]
mov rcx, rdi
mov qword [rsp + 0x90], 0
mov r14, qword [rax + 8]
call sym.strlen
mov qword [rsp + 0x20], rdi
mov r8, qword [rsp + 0xf8]
lea rdx, [rsp + 0x90]
lea r9, str.PRAGMA_table_xinfo_Q
mov rcx, r14
mov qword [rsp + 0x78], rax
lea r12d, [rax + 0x21]
call sym.idxPrintfPrepareStmt
mov dword [rsp + 0x84], eax
mov r15d, eax
test eax, eax
jne 0x140020167
mov rbp, qword [rsp + 0x58]
xor r13d, r13d
jmp 0x14001fb44
call sym.strlen
add eax, 1
mov rcx, qword [rsp + 0x90]
mov edx, 5
add r12d, eax
add r15d, 1
call sym.sqlite3_column_int
test eax, eax
setg al
movzx eax, al
add r13d, eax
test ebx, ebx
jne 0x140020098
mov rcx, qword [rsp + 0x90]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x14001fc60
mov rcx, qword [rsp + 0x90]
mov edx, 1
call sym.sqlite3_column_text
mov qword [rsp + 0x98], 0
mov rbx, rax
test rax, rax
je 0x140020048
mov rcx, rax
call sym.strlen
mov qword [rsp + 0x28], rbp
mov r9, rbx
mov rcx, r14
mov qword [rsp + 0x40], 0
mov r8, rdi
lea rdx, [0x140150af4]
lea r12d, [r12 + rax + 1]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x20], 0
call sym.sqlite3_table_column_metadata
mov rcx, qword [rsp + 0x98]
mov dword [rsp + 0x84], eax
mov ebx, eax
test rcx, rcx
jne 0x14001fb10
lea rax, str.binary
mov qword [rsp + 0x98], rax
mov eax, 7
jmp 0x14001fb18
mov eax, dword [rsp + 0x80]
test eax, eax
je 0x14001fa30
mov r14, qword [rsp + 0x68]
jmp 0x14001ff02
test rax, rax
je 0x14001fc08
mov rsi, qword [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rcx, qword [rsi + 0x18]
mov rsi, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rsi
call sym.sqlite3_exec
mov dword [rsp + 0x80], eax
jmp 0x14001fc0f
mov rcx, qword [rsp + 0x90]
mov ebp, dword [rsp + 0x84]
call sym.sqlite3_reset
mov ebx, eax
test ebp, ebp
jne 0x14002018b
mov dword [rsp + 0x84], eax
lea eax, [r15 + r15*2]
movsxd rbp, r15d
lea edx, [r12 + rax*8]
test ebx, ebx
jne 0x1400200f0
lea rcx, [rsp + 0x84]
call sym.idxMalloc
mov ebx, dword [rsp + 0x84]
mov r12, rax
test ebx, ebx
jne 0x140020181
lea rax, [rax + 0x20]
mov dword [r12], r15d
lea rdx, [rbp + rbp*2]
mov qword [r12 + 0x10], rax
lea rbp, [rax + rdx*8]
mov qword [rsp + 0x60], r14
nop word [rax + rax]
mov rcx, qword [rsp + 0x90]
call sym.sqlite3_step
cmp eax, 0x64
jne 0x14001ffd0
mov rcx, qword [rsp + 0x90]
mov edx, 1
call sym.sqlite3_column_text
mov qword [rsp + 0x98], 0
mov r14, rax
test rax, rax
je 0x14001ff90
mov rcx, rax
call sym.strlen
mov rdx, qword [r12 + 0x10]
mov rcx, qword [rsp + 0x90]
mov r15, rax
movsxd rax, ebx
lea rax, [rax + rax*2]
mov qword [rdx + rax*8], rbp
mov edx, 5
lea rsi, [rax*8]
call sym.sqlite3_column_int
mov rdx, qword [r12 + 0x10]
cmp eax, 1
sete cl
xor eax, eax
cmp r13d, 1
sete al
add r15d, 1
and eax, ecx
movsxd r15, r15d
mov rcx, rbp
mov dword [rdx + rsi + 0x10], eax
mov r8, r15
mov rdx, r14
add rbp, r15
call sym.memcpy
mov rax, qword [rsp + 0x58]
mov r9, r14
mov r8, rdi
mov qword [rsp + 0x40], 0
mov rcx, qword [rsp + 0x60]
lea rdx, [0x140150af4]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
call sym.sqlite3_table_column_metadata
mov dword [rsp + 0x84], eax
test eax, eax
je 0x14001ff40
mov rcx, qword [rsp + 0x90]
call sym.sqlite3_finalize
mov ebx, dword [rsp + 0x84]
test ebx, ebx
jne 0x14001ffee
mov qword [r12 + 8], rbp
test rbp, rbp
je 0x140020100
mov r8d, dword [rsp + 0x78]
mov rdx, rdi
mov rcx, rbp
add r8d, 1
movsxd r8, r8d
call sym.memcpy
mov rsi, qword [rsp + 0x68]
xor edx, edx
lea rbx, [rsp + 0x80]
lea r8, [0x140155022]
mov dword [rsp + 0x80], 0
mov rcx, rbx
mov rax, qword [rsi + 0x20]
mov qword [r12 + 0x18], rax
mov qword [rsi + 0x20], r12
call sym.idxAppendText
mov ecx, dword [r12]
mov rdx, rax
test ecx, ecx
jle 0x14001feb0
xor r15d, r15d
lea r14, [0x140150568]
lea r13, [0x140150e4d]
lea rbp, str._s_Q_COLLATE__s
nop dword [rax]
mov rax, qword [r12 + 0x10]
lea rcx, [r15 + r15*2]
test r15, r15
mov r9, r13
cmove r9, r14
mov r8, rbp
add r15, 1
lea rax, [rax + rcx*8]
mov rcx, qword [rax + 8]
mov rax, qword [rax]
mov qword [rsp + 0x28], rcx
mov rcx, rbx
mov qword [rsp + 0x20], rax
call sym.idxAppendText
mov rdx, rax
cmp dword [r12], r15d
jg 0x14001fe70
lea r8, [0x140152555]
mov rcx, rbx
call sym.idxAppendText
mov r9, rdi
xor edx, edx
mov rcx, rbx
mov qword [rsp + 0x20], rax
lea r8, str.CREATE_VIRTUAL_TABLE__Q_USING_expert__Q_
mov rbp, rax
call sym.idxAppendText
mov rdi, rax
mov eax, dword [rsp + 0x80]
test eax, eax
je 0x14002011f
mov rcx, rbp
mov r14, qword [rsp + 0x68]
call sym.sqlite3_free
mov rcx, rdi
call sym.sqlite3_free
mov rcx, qword [rsp + 0x88]
call sym.sqlite3_finalize
mov eax, dword [rsp + 0x80]
test eax, eax
jne 0x14001f8a8
mov rcx, qword [r14 + 0x18]
mov r8, r14
lea rdx, [sym.idxAuthCallback]
call sym.sqlite3_set_authorizer
jmp 0x14001f8b3
mov rdx, qword [rsp + 0x98]
test rdx, rdx
je 0x14001ffb0
mov rcx, rdx
mov qword [rsp + 0x70], rdx
call sym.strlen
mov rdx, qword [rsp + 0x70]
lea r15d, [rax + 1]
movsxd r15, r15d
mov rax, qword [r12 + 0x10]
mov rcx, rbp
mov r8, r15
add ebx, 1
mov qword [rax + rsi + 8], rbp
add rbp, r15
call sym.memcpy
jmp 0x14001fcd8
mov r8d, dword [rsp + 0x84]
test r8d, r8d
je 0x14001fcd8
jmp 0x14001fdd3
lea rax, str.binary
mov r15d, 7
mov qword [rsp + 0x98], rax
mov rdx, rax
jmp 0x14001ff66
mov rcx, qword [rsp + 0x90]
call sym.sqlite3_finalize
mov ebx, eax
mov dword [rsp + 0x84], eax
test ebx, ebx
je 0x14001fdef
mov r14, qword [rsp + 0x68]
jmp 0x140020070
call sym.sqlite3_finalize
jmp 0x14001f8a8
mov rcx, qword [rsp + 0x88]
mov r14, qword [rsp + 0x68]
call sym.sqlite3_finalize
jmp 0x14001ff16
mov rcx, qword [r14 + 0x10]
xor r9d, r9d
xor r8d, r8d
mov rdx, rax
mov rsi, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rsi
call sym.sqlite3_exec
jmp 0x14001f96d
mov rcx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x68]
mov ebx, 1
call sym.sqlite3_reset
xor r12d, r12d
mov rcx, qword [rsp + 0x90]
call sym.sqlite3_finalize
nop
mov rcx, r12
call sym.sqlite3_free
mov rcx, qword [rsp + 0x88]
mov dword [rsp + 0x80], ebx
call sym.sqlite3_finalize
jmp 0x14001ff0f
mov rcx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x68]
call sym.sqlite3_reset
jmp 0x14002005f
mov qword [rsp + 0x88], 0
mov rcx, rbx
call sym.sqlite3_errmsg
lea rcx, [0x1401509b2]
mov rdx, rax
call sym.sqlite3_mprintf
mov rsi, qword [rsp + 0xf8]
mov rcx, qword [rsp + 0x88]
mov qword [rsi], rax
call sym.sqlite3_finalize
jmp 0x14001f8a8
mov r14, qword [rsp + 0x68]
jmp 0x14002005f
mov r8d, 0x314d
lea rdx, str.shell.c
lea rcx, [0x1401503f8]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
jmp 0x14001fe14
mov rax, qword [rsp + 0x68]
xor r9d, r9d
xor r8d, r8d
mov rdx, rdi
mov rcx, qword [rax + 0x18]
mov rax, qword [rsp + 0xf8]
mov qword [rsp + 0x20], rax
call sym.sqlite3_exec
mov rcx, rbp
mov dword [rsp + 0x80], eax
mov dword [rsp + 0x60], eax
call sym.sqlite3_free
mov rcx, rdi
call sym.sqlite3_free
mov eax, dword [rsp + 0x60]
jmp 0x14001fc0f
mov rcx, qword [rsp + 0x90]
mov r14, qword [rsp + 0x68]
mov ebx, r15d
call sym.sqlite3_reset
jmp 0x14002005f
mov r14, qword [rsp + 0x68]
jmp 0x140020062
mov r14, qword [rsp + 0x68]
mov ebx, ebp
jmp 0x14002005f