Function at 0x140223500
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 r12, qword [rcx]
mov rbx, rcx
mov r14, rdx
jne 0x140223842
mov rdi, qword [rcx + 0x160]
mov rcx, r12
mov rdx, qword [rdi + 0x60]
call fcn.14024f810
mov rdx, qword [rdi + 8]
mov rcx, rdi
mov dword [rsp + 0x54], eax
cdqe
shl rax, 5
add rax, qword [r12 + 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 r13, [rdx + rax - 0x18]
mov dx, word [r13 + 0x10]
call fcn.14022a180
mov r8, qword [rsp + 0x48]
mov rdx, rsi
mov rcx, r12
mov rbp, rax
call fcn.140233950
xor edx, edx
mov r8, qword [rsp + 0x48]
mov rcx, rbx
mov qword [rsp + 0x20], rdx
mov r9, qword [rax]
mov edx, 0x1a
mov r15, rax
call fcn.140224d30
test eax, eax
jne 0x140223842
mov ax, word [r13 + 0x12]
lea rdx, str.Cannot_add_a_PRIMARY_KEY_column
test al, 1
jne 0x1402235cb
cmp qword [rdi + 0x10], 0
je 0x1402235e3
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.14022ed00
test al, 0x60
jne 0x1402236ad
test rbp, rbp
jne 0x140223611
test byte [r13 + 8], 0xf
je 0x1402236d1
mov qword [rsp + 0x20], rsi
mov r9, qword [rsp + 0x48]
lea r8, str.Cannot_add_a_NOT_NULL_column_with_default_value_NULL
jmp 0x1402236c2
mov rax, qword [rbp + 0x10]
cmp byte [rax], 0x79
je 0x1402235f0
test byte [r12 + 0x31], 0x40
je 0x140223649
cmp qword [rdi + 0x48], 0
je 0x140223649
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.1402443f0
xor eax, eax
mov r9d, 0x41
mov rdx, rbp
mov rcx, r12
mov qword [rsp + 0x68], rax
lea rax, [rsp + 0x68]
mov r8d, 1
mov qword [rsp + 0x20], rax
call fcn.140257930
test eax, eax
jne 0x140223842
cmp qword [rsp + 0x68], 0
jne 0x1402236a1
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.1402443f0
mov rcx, qword [rsp + 0x68]
call fcn.140257900
jmp 0x1402236d1
test al, 0x40
je 0x1402236d1
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.1402443f0
mov r8d, dword [r14 + 8]
mov rdx, qword [r14]
mov rcx, r12
call fcn.14022c6f0
test rax, rax
je 0x14022374b
mov edx, dword [r14 + 8]
lea r8, [0x14037d180]
dec edx
add rdx, rax
cmp rax, rdx
jae 0x140223712
movzx ecx, byte [rdx]
cmp cl, 0x3b
jne 0x14022370b
dec rdx
mov byte [rdx + 1], 0
jmp 0x1402236f5
test byte [r8 + rcx], 1
jne 0x140223702
mov r9d, dword [rdi + 0x40]
mov r8, qword [rsp + 0x48]
mov qword [rsp + 0x30], rsi
mov rcx, rbx
mov qword [rsp + 0x20], rax
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 + 0x58], rax
call fcn.1402443f0
mov rdx, qword [rsp + 0x58]
mov rcx, r12
call fcn.14022c330
mov rcx, rbx
call fcn.14023ff40
mov r12, rax
test rax, rax
je 0x140223842
mov rcx, rbx
mov edx, 0x63
call fcn.14023f710
mov dword [rsp + 0x20], 2
mov r8d, dword [rsp + 0x54]
mov rcx, r12
mov r9d, eax
mov r14d, eax
call fcn.140257b50
mov edx, dword [rsp + 0x54]
mov rcx, r12
mov r9d, 0xfffffffe
call fcn.140261bd0
mov r8d, r14d
mov edx, 0x56
mov rcx, r12
call fcn.140257b30
mov r8d, r14d
mov edx, 0x3b
mov rcx, r12
mov r9d, dword [r12 + 0x90]
add r9d, 2
call fcn.140257b30
mov dword [rsp + 0x20], 3
mov r8d, dword [rsp + 0x54]
mov rcx, r12
mov r9d, 2
mov edx, 0x64
call fcn.140257b50
mov edx, r14d
mov rcx, rbx
call fcn.14024e170
mov edx, dword [rsp + 0x54]
mov r8d, 3
call fcn.140217d60
cmp qword [rdi + 0x20], 0
jne 0x14022381b
test byte [r13 + 8], 0xf
je 0x140223814
test byte [r13 + 0x12], 0x60
jne 0x14022381b
test byte [r15 + 0x32], 1
je 0x140223842
mov r9, qword [rsp + 0x48]
mov r8, rsi
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 fcn.1402443f0
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret