Function at 0x140021720
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0xd8
movups xmmword [rsp + 0xb0], xmm6
movups xmmword [rsp + 0xc0], xmm7
mov rax, qword [rcx]
mov rbp, rcx
mov qword [rsp + 0x50], rax
mov rdi, rdx
mov rsi, r8
mov qword [rsp + 0x78], 0
mov rcx, qword [rcx + 0x360]
test r8, r8
je 0x140021d08
mov qword [r8], 0
test rcx, rcx
jne 0x140021c30
xor r13d, r13d
cmp byte [rdi], 0
lea r8, [rsp + 0x78]
mov r12, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
movsd xmm7, qword [0x14015ed80]
lea r11, [rsp + 0x80]
je 0x140021809
mov qword [rsp + 0x130], rsi
mov qword [rsp + 0x58], r8
mov qword [rsp + 0x60], r11
nop dword [rax + rax]
mov rax, qword [rsp + 0x60]
mov rbx, qword [rsp + 0x50]
mov r8d, 0xffffffff
mov rdx, rdi
mov r9, qword [rsp + 0x58]
mov qword [rsp + 0x20], rax
mov rcx, rbx
call sym.sqlite3_prepare_v2
mov r13d, eax
test eax, eax
je 0x140021830
mov rsi, qword [rsp + 0x130]
test rsi, rsi
je 0x140021809
mov r9, rdi
mov r8d, eax
lea rdx, str.in_prepare
mov rcx, rbx
call sym.save_err_msg
mov qword [rsi], rax
movups xmm6, xmmword [rsp + 0xb0]
movups xmm7, xmmword [rsp + 0xc0]
mov eax, r13d
add rsp, 0xd8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rcx, qword [rsp + 0x78]
test rcx, rcx
je 0x140021b90
call sym.sqlite3_sql
mov qword [0x14018a050], rax
test rax, rax
je 0x140021bf0
movzx edx, byte [rax]
lea rbx, [rax + 1]
movzx ecx, dl
jmp 0x14002186e
mov qword [0x14018a050], rbx
movzx ecx, byte [rbx]
add rbx, 1
call r12
test eax, eax
jne 0x140021860
mov rcx, qword [rsp + 0x78]
cmp byte [rbp + 9], 0
mov dword [rbp + 0x2c], 0
mov esi, eax
mov qword [rbp + 0x240], rcx
jne 0x140021bd8
call sym.sqlite3_stmt_isexplain
cmp byte [rbp + 8], 0
mov ebx, eax
mov eax, dword [rbp + 0x54]
mov dword [rbp + 0x5c], eax
je 0x140021b60
mov rcx, qword [rsp + 0x78]
cmp ebx, 1
je 0x140021b48
call sym.sqlite3_stmt_isexplain
cmp eax, 2
je 0x140021ca0
mov r13, qword [rsp + 0x78]
mov qword [rsp + 0x88], 0
mov rcx, r13
call sym.sqlite3_bind_parameter_count
mov r14d, eax
test eax, eax
je 0x140021a51
mov rcx, qword [rbp]
lea r9, [0x14015567c]
mov qword [rsp + 0x40], 0
lea r8, str.sqlite_parameters
mov qword [rsp + 0x38], 0
lea rdx, str.TEMP
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov qword [rsp + 0x20], 0
call sym.sqlite3_table_column_metadata
test eax, eax
je 0x140021e90
mov qword [rsp + 0x88], 0
mov edx, 0xc
movsd xmm6, qword [0x14015ed78]
mov r15d, 1
test r14d, r14d
jle 0x140021a44
mov dword [rsp + 0x6c], esi
mov esi, edx
jmp 0x140021999
movapd xmm2, xmm6
mov edx, r15d
mov rcx, r13
call sym.sqlite3_bind_double
mov rcx, qword [rsp + 0x88]
add r15d, 1
call sym.sqlite3_reset
cmp r14d, r15d
jl 0x140021a40
mov edx, r15d
mov rcx, r13
call sym.sqlite3_bind_parameter_name
mov rbx, rax
test rax, rax
je 0x140021b20
mov rcx, qword [rsp + 0x88]
mov r9d, 0xffffffff
mov r8, rbx
mov edx, 1
mov qword [rsp + 0x20], 0
call sym.sqlite3_bind_text
test esi, esi
jne 0x1400219f3
mov rcx, qword [rsp + 0x88]
test rcx, rcx
je 0x1400219f3
call sym.sqlite3_step
cmp eax, 0x64
je 0x140021c08
xor r8d, r8d
mov rdx, rbx
lea rcx, str._NAN
call sym.sqlite3_strlike
test eax, eax
je 0x140021970
xor r8d, r8d
mov rdx, rbx
lea rcx, str._INF
call sym.sqlite3_strlike
test eax, eax
jne 0x140021b08
movapd xmm2, xmm7
mov edx, r15d
mov rcx, r13
call sym.sqlite3_bind_double
jmp 0x14002197f
mov esi, dword [rsp + 0x6c]
mov rcx, qword [rsp + 0x88]
call sym.sqlite3_finalize
mov rdx, qword [rsp + 0x78]
mov rcx, rbp
call sym.exec_prepared_stmt
mov rcx, qword [rbp + 0x2d0]
call sym.sqlite3_free
mov rcx, rbp
mov qword [rbp + 0x2d0], 0
mov qword [rbp + 0x2d8], 0
call sym.eqp_render.constprop.0
mov eax, dword [rbp + 0x1c]
test eax, eax
jne 0x140021cb8
mov rcx, qword [rsp + 0x78]
call sym.sqlite3_finalize
mov r13d, eax
cmp esi, 7
je 0x140021bc8
test eax, eax
je 0x140021cd8
cmp qword [rsp + 0x130], 0
je 0x140021ade
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
mov r8d, r13d
lea rdx, str.stepping
call sym.save_err_msg
mov rsi, qword [rsp + 0x130]
mov qword [rsi], rax
xor eax, eax
mov qword [rbp + 0x240], 0
movzx r14d, byte [rdi]
test r14b, r14b
je 0x140021809
test al, al
jne 0x1400217b8
jmp 0x140021809
mov edx, r15d
mov rcx, r13
call sym.sqlite3_bind_null
jmp 0x14002197f
lea rbx, [rsp + 0x90]
mov r9d, r15d
mov ecx, 0x1e
lea r8, [0x1401556ce]
mov rdx, rbx
call sym.sqlite3_snprintf
jmp 0x1400219b0
mov dword [rbp + 0x5c], 9
call sym.sqlite3_stmt_isexplain
cmp eax, 2
je 0x140021ca0
mov eax, dword [rbp + 0x5c]
mov r13, qword [rsp + 0x78]
cmp ebx, 1
jne 0x1400218cc
cmp eax, 9
jne 0x1400218cc
mov rdx, r13
mov rcx, rbp
call sym.explain_data_prepare
jmp 0x1400218c7
mov rdi, qword [rsp + 0x80]
mov rbx, qword [sym.imp.api_ms_win_crt_string_l1_1_0.dll_isspace]
jmp 0x140021bac
add rdi, 1
movzx ecx, byte [rdi]
mov r14d, ecx
call rbx
test eax, eax
jne 0x140021ba8
mov r13d, eax
mov eax, 1
jmp 0x140021aef
mov r13d, 7
jmp 0x140021ab1
call sym.sqlite3_stmt_isexplain
test eax, eax
je 0x140021ec0
mov rcx, qword [rsp + 0x78]
jmp 0x140021894
lea rax, [0x140150568]
xor edx, edx
mov qword [0x14018a050], rax
jmp 0x140021856
mov rcx, qword [rsp + 0x88]
xor edx, edx
call sym.sqlite3_column_value
mov edx, r15d
mov rcx, r13
mov r8, rax
call sym.sqlite3_bind_value
jmp 0x14002197f
call sym.sqlite3_expert_sql
mov r14, qword [rbp + 0x360]
test r14, r14
je 0x1400221a8
test eax, eax
jne 0x140022094
cmp qword [rsi], 0
je 0x140021c6d
mov r8d, 0x51d6
lea rdx, str.shell.c
lea rcx, str.bCancel__pzErr0__pzErr0
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov rdx, rsi
mov rcx, r14
mov edi, dword [rbp + 0x368]
call sym.sqlite3_expert_analyze
mov r13d, eax
test eax, eax
je 0x140021d4c
test r14, r14
je 0x14002209f
jmp 0x140022097
mov dword [rbp + 0x5c], 0xc
mov r13, qword [rsp + 0x78]
jmp 0x1400218cc
cmp qword [rbp + 0x40], 0
je 0x140021a93
mov rcx, qword [rsp + 0x50]
mov rdx, rbp
call sym.display_stats.part.0.constprop.0
jmp 0x140021a93
mov rdi, qword [rsp + 0x80]
jmp 0x140021cec
add rdi, 1
movzx ecx, byte [rdi]
call r12
test eax, eax
jne 0x140021ce8
mov r13d, eax
mov eax, 1
jmp 0x140021ae0
test rcx, rcx
je 0x14002177d
xor r8d, r8d
call sym.sqlite3_expert_sql
mov r14, qword [rbp + 0x360]
test r14, r14
je 0x1400221f4
test eax, eax
jne 0x140022094
xor edx, edx
mov rcx, r14
mov edi, dword [rbp + 0x368]
call sym.sqlite3_expert_analyze
mov r13d, eax
test eax, eax
jne 0x140022097
mov rax, qword [r14 + 0x38]
test rax, rax
je 0x140022061
mov r12d, dword [rax]
lea ebx, [r12 + 1]
test edi, edi
je 0x140021db4
mov r8d, dword [r14 + 0x40]
test r8d, r8d
je 0x140022239
mov edx, r12d
jmp 0x140021d8b
mov rax, qword [rax + 0x20]
test rax, rax
je 0x140021d8f
mov edx, dword [rax]
test edx, edx
jne 0x140021d80
mov rsi, qword [r14 + 0x2058]
lea rcx, str.___Candidates_______________________________n
lea r15, [0x140151227]
call sym.oPutsUtf8.isra.0
mov rdx, rsi
mov rcx, r15
call sym.oPrintfUtf8
test ebx, ebx
jle 0x140022094
xor r13d, r13d
mov qword [rsp + 0x120], rbp
lea r15, [0x140151227]
mov ebp, r13d
mov r13d, r12d
mov r12d, edi
nop word [rax + rax]
mov ecx, dword [r14 + 0x40]
test ecx, ecx
je 0x140022187
mov rsi, qword [r14 + 0x38]
mov r8, rsi
test rsi, rsi
jne 0x140021e09
jmp 0x14002218c
mov r8, qword [r8 + 0x20]
test r8, r8
je 0x140021e12
cmp dword [r8], ebp
jne 0x140021e00
mov r8, qword [r8 + 8]
mov rbx, rsi
jmp 0x140021e29
mov rbx, qword [rbx + 0x20]
test rbx, rbx
je 0x140021e41
cmp dword [rbx], ebp
jne 0x140021e20
mov rbx, qword [rbx + 0x10]
cmp dword [rsi], ebp
je 0x140021e45
nop dword [rax]
mov rsi, qword [rsi + 0x20]
test rsi, rsi
je 0x140021e49
cmp dword [rsi], ebp
jne 0x140021e38
mov rsi, qword [rsi + 0x18]
test rbx, rbx
lea rax, str._no_new_indexes__n
cmove rbx, rax
lea edi, [rbp + 1]
test r12d, r12d
jne 0x14002215e
mov rdx, rbx
mov rcx, r15
call sym.oPrintfUtf8
mov rdx, rsi
mov rcx, r15
call sym.oPrintfUtf8
cmp r13d, ebp
je 0x140022198
mov ebp, edi
jmp 0x140021de0
mov rcx, qword [rbp]
lea rdx, str.SELECT_value_FROM_temp.sqlite_parameters_WHERE_key_1
mov qword [rsp + 0x20], 0
lea r9, [rsp + 0x88]
mov r8d, 0xffffffff
call sym.sqlite3_prepare_v2
mov edx, eax
jmp 0x14002194f
xor edx, edx
lea r8, [0x14018a060]
mov ecx, 0x1f
mov dword [rsp + 0x88], 0
lea rbx, [rsp + 0x90]
mov dword [rsp + 0x90], 0
call sym.sqlite3_test_control
mov r8, rbx
mov edx, 1
mov ecx, 0x1f
call sym.sqlite3_test_control
mov edx, 2
mov ecx, 0x1f
lea r8, [0x14018a05c]
call sym.sqlite3_test_control
mov r8, rbx
mov edx, 3
mov ecx, 0x1f
call sym.sqlite3_test_control
mov rsi, qword [rsp + 0x50]
mov r8d, 0xffffffff
lea r9, [rsp + 0x88]
mov edx, 0x3f0
mov rcx, rsi
call sym.sqlite3_db_config
cmp byte [rbp + 9], 1
jbe 0x140021f67
xor r9d, r9d
mov r8d, 1
mov edx, 0x3f0
mov rcx, rsi
call sym.sqlite3_db_config
mov rbx, qword [rsp + 0x78]
lea r14, [0x140150568]
mov rcx, rbx
call sym.sqlite3_reset
mov edx, 2
mov rcx, rbx
call sym.sqlite3_stmt_explain
mov esi, eax
test eax, eax
je 0x140022019
movzx eax, byte [rbp + 9]
cmp al, 2
ja 0x1400220c5
cmp al, 1
jbe 0x140021fb1
mov edx, dword [rsp + 0x88]
test edx, edx
je 0x1400221da
mov rcx, qword [rsp + 0x78]
call sym.sqlite3_reset
mov rcx, qword [rsp + 0x78]
xor edx, edx
call sym.sqlite3_stmt_explain
mov edx, 1
mov ecx, 0x1f
lea r8, [0x14018a060]
call sym.sqlite3_test_control
mov ecx, 0x1f
mov edx, 3
lea r8, [0x14018a05c]
call sym.sqlite3_test_control
mov rcx, qword [rsp + 0x78]
jmp 0x140021894
cmp byte [r13], 0x2d
je 0x1400220af
mov r9, r13
mov edx, r15d
mov rcx, rbp
call sym.eqp_append
mov rcx, rbx
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1400220e9
mov edx, 3
mov rcx, rbx
call sym.sqlite3_column_text
xor edx, edx
mov rcx, rbx
mov r13, rax
call sym.sqlite3_column_int
mov edx, 1
mov rcx, rbx
mov r15d, eax
call sym.sqlite3_column_int
mov r8d, eax
test r13, r13
jne 0x140022000
mov r13, r14
jmp 0x14002200b
test edi, edi
je 0x140022094
mov r9d, dword [r14 + 0x40]
test r9d, r9d
je 0x140022240
mov rbx, qword [r14 + 0x2058]
lea rcx, str.___Candidates_______________________________n
call sym.oPutsUtf8.isra.0
lea rcx, [0x140151227]
mov rdx, rbx
call sym.oPrintfUtf8
xor r13d, r13d
mov rcx, r14
call sym.sqlite3_expert_destroy.part.0
mov qword [rbp + 0x360], 0
jmp 0x140021809
mov rcx, rbp
mov dword [rsp + 0x6c], eax
call sym.eqp_render.constprop.0
mov r8d, dword [rsp + 0x6c]
jmp 0x14002200b
mov rcx, rbx
call sym.sqlite3_reset
mov edx, 1
mov rcx, rbx
call sym.sqlite3_stmt_explain
mov esi, eax
test eax, eax
je 0x1400220f6
movzx eax, byte [rbp + 9]
jmp 0x140021f9e
mov rcx, rbp
call sym.eqp_render.constprop.0
jmp 0x140021f92
mov dword [rbp + 0x5c], 9
mov rcx, rbx
call sym.sqlite3_stmt_isexplain
cmp eax, 1
je 0x140022124
mov r8d, 0x5286
lea rdx, str.shell.c
lea rcx, str.sqlite3_stmt_isexplain_pExplain_1
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov rdx, rbx
mov rcx, rbp
call sym.explain_data_prepare
mov rdx, rbx
mov rcx, rbp
call sym.exec_prepared_stmt
mov rcx, qword [rbp + 0x2d0]
call sym.sqlite3_free
mov qword [rbp + 0x2d0], 0
mov qword [rbp + 0x2d8], 0
jmp 0x1400220e0
mov edx, edi
lea rcx, str.___Query__d__________________________________n
mov qword [rsp + 0x50], r8
call sym.oPrintfUtf8
mov rdx, qword [rsp + 0x50]
lea rcx, str._s_n_n
call sym.oPrintfUtf8
jmp 0x140021e63
xor r8d, r8d
xor esi, esi
lea rbx, str._no_new_indexes__n
jmp 0x140021e57
mov rbp, qword [rsp + 0x120]
xor r13d, r13d
jmp 0x140022097
mov dword [rsp + 0x50], eax
mov r8d, 0x51d5
lea rdx, str.shell.c
lea rcx, [0x1401555b9]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov eax, dword [rsp + 0x50]
test eax, eax
je 0x140021c4d
xor r13d, r13d
jmp 0x14002209f
mov rcx, qword [rsp + 0x50]
xor r9d, r9d
xor r8d, r8d
mov edx, 0x3f0
call sym.sqlite3_db_config
jmp 0x140021fb1
mov dword [rsp + 0x50], eax
mov r8d, 0x51d5
lea rdx, str.shell.c
lea rcx, [0x1401555b9]
call qword [sym.imp.api_ms_win_crt_runtime_l1_1_0.dll__assert]
mov eax, dword [rsp + 0x50]
test eax, eax
jne 0x1400221d2
xor edx, edx
xor ecx, ecx
mov edi, dword [rbp + 0x368]
call sym.sqlite3_expert_analyze
mov r13d, eax
test eax, eax
je 0x140021d4c
jmp 0x14002209f
xor esi, esi
jmp 0x140021d96
lea rcx, str.___Candidates_______________________________n
call sym.oPutsUtf8.isra.0
xor edx, edx
lea rcx, [0x140151227]
call sym.oPrintfUtf8
jmp 0x140022094