Function at 0x1401c6900
Capabilities:
Reference sql statements

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x78
cmp dword [rcx + 0x30], 0
mov rbp, qword [rcx]
mov rbx, rcx
mov r15, rdx
jne 0x1401c6c50
mov rdi, qword [rcx + 0x160]
mov rcx, rbp
mov rdx, qword [rdi + 0x60]
call fcn.1401f1a40
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov dword [rsp + 0x54], eax
cdqe
shl rax, 5
add rax, qword [rbp + 0x20]
mov rax, qword [rax]
mov qword [rsp + 0x48], rax
mov rax, qword [rdi]
lea rsi, [rax + 0x10]
movsx rax, word [rdi + 0x36]
imul rax, rax, 0x18
lea r14, [rdx + rax - 0x18]
mov dx, word [r14 + 0x10]
call fcn.1401cd4c0
mov r8, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, rbp
mov r13, rax
call fcn.1401d6ac0
xor edx, edx
mov r8, qword [rsp + 0x48]
mov rcx, rbx
mov qword [rsp + 0x20], rdx
mov r9, qword [rax]
mov edx, 0x1a
call fcn.1401c7f00
test eax, eax
jne 0x1401c6c50
mov dx, word [r14 + 0x12]
test dl, 1
je 0x1401c69bc
lea rdx, str.Cannot_add_a_PRIMARY_KEY_column
jmp 0x1401c69cc
mov r12, qword [rdi + 0x10]
test r12, r12
je 0x1401c69e4
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 fcn.1401d2020
test dl, 0x60
jne 0x1401c6abe
test r13, r13
je 0x1401c69fd
mov rdx, qword [r13 + 0x10]
cmp byte [rdx], 0x79
cmovne r12, r13
test byte [rbp + 0x31], 0x40
je 0x1401c6a2f
cmp qword [rdi + 0x48], 0
je 0x1401c6a2f
test r12, r12
je 0x1401c6a2f
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x48]
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_
call fcn.1401e6b80
test byte [r14 + 8], 0xf
je 0x1401c6a51
test r12, r12
jne 0x1401c6a5a
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x48]
lea r8, str.Cannot_add_a_NOT_NULL_column_with_default_value_NULL
jmp 0x1401c6ad4
test r12, r12
je 0x1401c6ae3
lea rdx, [rsp + 0x68]
xor eax, eax
mov r9d, 0x41
mov rcx, rbp
mov qword [rsp + 0x20], rdx
mov r8d, 1
mov rdx, r12
mov qword [rsp + 0x68], rax
call fcn.1401f9680
test eax, eax
jne 0x1401c6c50
cmp qword [rsp + 0x68], 0
jne 0x1401c6ab2
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x48]
mov rcx, rbx
lea r8, str.Cannot_add_a_column_with_non_constant_default
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
call fcn.1401e6b80
mov rcx, qword [rsp + 0x68]
call fcn.1401f9650
jmp 0x1401c6ae3
and dl, 0x40
je 0x1401c6ae3
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x48]
lea r8, str.cannot_add_a_STORED_column
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
mov rcx, rbx
call fcn.1401e6b80
mov r8d, dword [r15 + 8]
mov rdx, qword [r15]
mov rcx, rbp
call fcn.1401cfaf0
test rax, rax
je 0x1401c6b61
mov edx, dword [r15 + 8]
lea r8, [0x1402b8fe0]
dec edx
add rdx, rax
cmp rax, rdx
jb 0x1401c6b47
mov r9d, dword [rdi + 0x40]
mov qword [rsp + 0x30], rsi
mov rcx, rbx
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 qword [rsp + 0x20], rax
mov r8, qword [rsp + 0x48]
mov dword [rsp + 0x28], r9d
mov qword [rsp + 0x58], rax
call fcn.1401e6b80
mov rdx, qword [rsp + 0x58]
mov rcx, rbp
call fcn.1401cf730
jmp 0x1401c6b61
movzx ecx, byte [rdx]
cmp cl, 0x3b
jne 0x1401c6b58
dec rdx
mov byte [rdx + 1], 0
jmp 0x1401c6b07
test byte [r8 + rcx], 1
jne 0x1401c6b4f
jmp 0x1401c6b0c
mov rcx, rbx
call fcn.1401e2750
mov rbp, rax
test rax, rax
je 0x1401c6c50
mov rcx, rbx
mov edx, 0x63
call fcn.1401e1f30
mov dword [rsp + 0x20], 2
mov r8d, dword [rsp + 0x54]
mov rcx, rbp
mov r9d, eax
mov r15d, eax
call fcn.1401f98a0
mov edx, dword [rsp + 0x54]
mov rcx, rbp
mov r9d, 0xfffffffe
call fcn.140203300
mov r8d, r15d
mov edx, 0x56
mov rcx, rbp
call fcn.1401f9880
mov r8d, r15d
mov edx, 0x3b
mov rcx, rbp
mov r9d, dword [rbp + 0x90]
add r9d, 2
call fcn.1401f9880
mov dword [rsp + 0x20], 3
mov r8d, dword [rsp + 0x54]
mov rcx, rbp
mov r9d, 2
mov edx, 0x64
call fcn.1401f98a0
mov edx, r15d
mov rcx, rbx
call fcn.1401f0430
mov edx, dword [rsp + 0x54]
mov r8d, 3
call fcn.1401bb550
cmp qword [rdi + 0x20], 0
jne 0x1401c6c29
test byte [r14 + 8], 0xf
je 0x1401c6c50
test byte [r14 + 0x12], 0x60
je 0x1401c6c50
mov r9, qword [rsp + 0x48]
mov r8, rsi
lea rdx, str.SELECT_CASE_WHEN_quick_check_GLOB_CHECK_THEN_raise_ABORT_CHECK_constraint_failed__ELSE_raise_ABORT_NOT_NULL_constraint_failed__END__FROM_pragma_quick_check__Q__Q__WHERE_quick_check_GLOB_CHECK_OR_quick_check_GLOB_NULL
mov rcx, rbx
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp fcn.1401e6b80
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret