Function at 0x14010f450
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
mov edi, dword [rcx + 0x30]
mov r12, qword [rcx]
mov rbx, rcx
mov rsi, rdx
test edi, edi
jne 0x14010f786
mov r13, qword [rcx + 0x160]
mov rax, qword [r12 + 0x20]
mov r8, qword [r13 + 0x60]
test r8, r8
je 0x14010f979
cmp r8, qword [rax + 0x18]
je 0x14010f8a0
lea rcx, [rax + 0x20]
mov edx, 1
mov rax, rcx
mov r9, rdx
lea rcx, [rcx + 0x20]
add rdx, 1
cmp r8, qword [rax + 0x18]
jne 0x14010f4a0
mov edi, r9d
shl r9, 5
mov qword [rsp + 0x48], r9
mov r14, qword [rax]
mov rax, qword [r13]
lea rbp, [rax + 0x10]
movsx rax, word [r13 + 0x36]
lea rdx, [rax + rax*2]
mov rax, qword [r13 + 8]
lea r15, [rax + rdx*8 - 0x18]
movzx eax, word [r15 + 0x10]
test ax, ax
je 0x14010f7a0
cmp byte [r13 + 0x3f], 0
jne 0x14010f7a0
mov r11, qword [r13 + 0x50]
test r11, r11
je 0x14010f516
cmp dword [r11], eax
jl 0x14010f7a0
sub eax, 1
cdqe
shl rax, 5
mov r11, qword [r11 + rax + 8]
mov r8, r14
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0x40], r11
call sym.sqlite3FindTable
mov r8, r14
mov edx, 0x1a
mov rcx, rbx
mov r9, qword [rax]
mov qword [rsp + 0x50], rax
mov qword [rsp + 0x20], 0
call sym.sqlite3AuthCheck
test eax, eax
jne 0x14010f786
movzx eax, word [r15 + 0x12]
mov r11, qword [rsp + 0x40]
lea rdx, str.Cannot_add_a_PRIMARY_KEY_column
test al, 1
jne 0x14010f7b7
cmp qword [r13 + 0x10], 0
jne 0x14010f7b0
test al, 0x60
je 0x14010f7d0
test al, 0x40
jne 0x14010f940
mov r9, qword [rsi]
mov r8d, dword [rsi + 8]
test r9, r9
mov qword [rsp + 0x40], r9
je 0x14010f642
lea rdx, [r8 + 1]
mov rcx, r12
mov qword [rsp + 0x58], r8
call sym.sqlite3DbMallocRawNN
test rax, rax
je 0x14010f642
mov r8, qword [rsp + 0x58]
mov rdx, qword [rsp + 0x40]
mov rcx, rax
call sym.memcpy
mov r8, qword [rsp + 0x58]
lea rcx, [0x140176360]
mov r11, rax
mov byte [rax + r8], 0
mov eax, dword [rsi + 8]
sub eax, 1
add rax, r11
cmp r11, rax
jae 0x14010f60b
nop dword [rax]
movzx edx, byte [rax]
cmp dl, 0x3b
je 0x14010f5fe
test byte [rcx + rdx], 1
je 0x14010f60b
sub rax, 1
mov byte [rax + 1], 0
cmp rax, r11
jne 0x14010f5f0
mov r9d, dword [r13 + 0x40]
mov qword [rsp + 0x30], rbp
mov rcx, rbx
mov r8, r14
mov qword [rsp + 0x20], r11
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__printf___._ds___sql____Q__substr_sql_1length_printf___._ds_sql____WHERE_type__table_AND_name___Q
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x40], r11
call sym.sqlite3NestedParse
mov rdx, qword [rsp + 0x40]
mov rcx, r12
call sym.sqlite3DbFreeNN
mov r12, qword [rbx + 0x10]
test r12, r12
je 0x14010f870
movzx eax, byte [rbx + 0x1f]
test al, al
je 0x14010f8dc
sub eax, 1
mov byte [rbx + 0x1f], al
movzx eax, al
mov esi, dword [rbx + rax*4 + 0xe8]
mov rcx, r12
mov r9d, esi
mov r8d, edi
mov edx, 0x63
mov dword [rsp + 0x20], 2
call sym.sqlite3VdbeAddOp3
mov eax, 1
mov ecx, edi
shl eax, cl
or dword [r12 + 0xcc], eax
cmp edi, 1
je 0x14010f6bc
mov rdx, qword [r12]
mov rcx, qword [rsp + 0x48]
mov rdx, qword [rdx + 0x20]
mov rdx, qword [rdx + rcx + 8]
cmp byte [rdx + 0x11], 0
je 0x14010f6bc
or dword [r12 + 0xd0], eax
mov dword [rsp + 0x20], 0
mov r8d, esi
mov edx, 0x56
mov rcx, r12
mov r9d, 0xfffffffe
call sym.sqlite3VdbeAddOp3
mov r8d, esi
mov edx, 0x3b
mov rcx, r12
mov eax, dword [r12 + 0x90]
mov dword [rsp + 0x20], 0
lea r9d, [rax + 2]
call sym.sqlite3VdbeAddOp3
mov r8d, edi
mov edx, 0x64
mov rcx, r12
mov dword [rsp + 0x20], 3
mov r9d, 2
call sym.sqlite3VdbeAddOp3
test esi, esi
je 0x14010f72c
movzx eax, byte [rbx + 0x1f]
cmp al, 7
jbe 0x14010f8ea
cmp qword [rbx + 0x10], 0
je 0x14010f743
mov r8d, 3
mov edx, edi
mov rcx, rbx
call sym.renameReloadSchema.part.0
cmp qword [r13 + 0x20], 0
je 0x14010f770
mov r9, r14
mov r8, rbp
lea rdx, str.SELECT_CASE_WHEN_quick_check_GLOB_CHECK_THEN_raise_ABORT_CHECK_constraint_failed__WHEN_quick_check_GLOB_non__value_in_THEN_raise_ABORT_type_mismatch_on_DEFAULT__ELSE_raise_ABORT_NOT_NULL_constraint_failed__END__FROM_pragma_quick_check__Q__Q__WHERE_quick_check_GLOB_CHECK_OR_quick_check_GLOB_NULL_OR_quick_check_GLOB_non__value_in
mov rcx, rbx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3NestedParse
test byte [r15 + 8], 0xf
jne 0x14010f8fc
mov rax, qword [rsp + 0x50]
test byte [rax + 0x32], 1
jne 0x14010f74a
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
xor r11d, r11d
jmp 0x14010f516
lea rdx, str.Cannot_add_a_UNIQUE_column
mov rcx, rbx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3ErrorMsg
test r11, r11
je 0x14010f8ae
mov rax, qword [r11 + 0x10]
cmp byte [rax], 0x79
je 0x14010f8ae
test byte [r12 + 0x31], 0x40
je 0x14010f81d
cmp qword [r13 + 0x48], 0
je 0x14010f81d
mov qword [rsp + 0x20], rbp
mov r9, r14
mov rcx, rbx
lea r8, str.Cannot_add_a_REFERENCES_column_with_non_NULL_default_value
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
mov qword [rsp + 0x40], r11
call sym.sqlite3NestedParse
mov r11, qword [rsp + 0x40]
lea rax, [rsp + 0x68]
mov r9d, 0x41
mov rdx, r11
mov rcx, r12
mov qword [rsp + 0x20], rax
mov r8d, 1
mov qword [rsp + 0x68], 0
call sym.valueFromExpr.constprop.0
test eax, eax
jne 0x14010f786
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14010f90c
call sym.sqlite3ValueFree.part.0
jmp 0x14010f586
cmp qword [rbx + 0xb0], 0
je 0x14010f963
mov rcx, rbx
call sym.sqlite3VdbeCreate
mov r12, rax
test rax, rax
jne 0x14010f64f
jmp 0x14010f786
mov qword [rsp + 0x48], 0
jmp 0x14010f4c0
test byte [r15 + 8], 0xf
je 0x14010f586
mov qword [rsp + 0x20], rbp
mov r9, r14
mov rcx, rbx
lea r8, str.Cannot_add_a_NOT_NULL_column_with_default_value_NULL
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
call sym.sqlite3NestedParse
jmp 0x14010f586
mov eax, dword [rbx + 0x38]
lea esi, [rax + 1]
mov dword [rbx + 0x38], esi
jmp 0x14010f66b
lea edx, [rax + 1]
mov byte [rbx + 0x1f], dl
mov dword [rbx + rax*4 + 0xe8], esi
jmp 0x14010f72c
test byte [r15 + 0x12], 0x60
jne 0x14010f74a
jmp 0x14010f77b
mov qword [rsp + 0x20], rbp
mov rcx, rbx
mov r9, r14
lea r8, str.Cannot_add_a_column_with_non_constant_default
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
call sym.sqlite3NestedParse
mov rcx, qword [rsp + 0x68]
test rcx, rcx
je 0x14010f586
jmp 0x14010f85d
mov qword [rsp + 0x20], rbp
mov r9, r14
mov rcx, rbx
lea r8, str.cannot_add_a_STORED_column
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
call sym.sqlite3NestedParse
jmp 0x14010f586
mov rax, qword [rbx]
test byte [rax + 0x60], 8
jne 0x14010f87e
mov byte [rbx + 0x23], 1
jmp 0x14010f87e
mov qword [rsp + 0x48], 0xfffffffffff00000
sub rax, 0x100000
mov edi, 0xffff8000
jmp 0x14010f4c0