Function at 0x14013e8e0
Capabilities:
Reference sql statements

Disassembly:
mov r11, rsp
push rdi
push r12
push r14
sub rsp, 0x80
mov rax, qword [0x1401ea8a0]
xor rax, rsp
mov qword [rsp + 0x58], rax
cmp dword [rcx + 0x30], 0
mov r12, rdx
mov r14, qword [rcx]
mov rdi, rcx
jne 0x14013ec2c
mov qword [r11 + 0x18], rbx
mov qword [r11 - 0x20], rbp
mov qword [r11 - 0x28], rsi
mov qword [r11 - 0x30], r13
mov qword [r11 - 0x38], r15
mov r15, qword [rcx + 0x160]
mov rcx, r14
mov rdx, qword [r15 + 0x60]
call fcn.140121580
mov rcx, qword [r14 + 0x20]
mov rsi, qword [r15]
movsxd rdx, eax
add rsi, 0x10
shl rdx, 5
mov dword [rsp + 0x40], eax
mov rbp, qword [rdx + rcx]
movsx ecx, word [r15 + 0x36]
dec ecx
movsxd rcx, ecx
lea rdx, [rcx + rcx*2]
mov rcx, qword [r15 + 8]
lea r13, [rcx + rdx*8]
mov rcx, r15
mov rdx, r13
call fcn.140138690
mov rcx, r14
mov r8, rbp
mov rdx, rsi
mov rbx, rax
call fcn.140138d80
xor ecx, ecx
mov qword [rsp + 0x48], rax
mov qword [rsp + 0x20], rcx
mov r8, rbp
mov r9, qword [rax]
lea edx, [rcx + 0x1a]
mov rcx, rdi
call fcn.140139700
test eax, eax
jne 0x14013ec10
movzx ecx, word [r13 + 0x12]
test cl, 1
je 0x14013e9c7
lea rdx, str.Cannot_add_a_PRIMARY_KEY_column
mov rcx, rdi
call fcn.14017cad0
jmp 0x14013ec10
cmp qword [r15 + 0x10], 0
je 0x14013e9e2
lea rdx, str.Cannot_add_a_UNIQUE_column
mov rcx, rdi
call fcn.14017cad0
jmp 0x14013ec10
test cl, 0x60
jne 0x14013ea9b
test rbx, rbx
je 0x14013ea00
mov rax, qword [rbx + 0x10]
cmp byte [rax], 0x79
mov eax, 0
cmove rbx, rax
mov eax, dword [r14 + 0x30]
bt rax, 0xe
jae 0x14013ea2c
cmp qword [r15 + 0x48], 0
je 0x14013ea2c
test rbx, rbx
je 0x14013ea2c
lea r9, str.Cannot_add_a_REFERENCES_column_with_non_NULL_default_value
mov r8, rsi
mov rdx, rbp
mov rcx, rdi
call fcn.14013ec50
test byte [r13 + 8], 0xf
je 0x14013ea41
test rbx, rbx
jne 0x14013ea46
lea r9, str.Cannot_add_a_NOT_NULL_column_with_default_value_NULL
jmp 0x14013eaa7
test rbx, rbx
je 0x14013eab5
xor eax, eax
mov r9b, 0x41
mov qword [rsp + 0x50], rax
mov r8b, 1
lea rax, [rsp + 0x50]
mov rdx, rbx
mov rcx, r14
mov qword [rsp + 0x20], rax
call fcn.14015c270
test eax, eax
jne 0x14013ec10
mov rcx, qword [rsp + 0x50]
test rcx, rcx
jne 0x14013ea94
lea r9, str.Cannot_add_a_column_with_non_constant_default
mov r8, rsi
mov rdx, rbp
mov rcx, rdi
call fcn.14013ec50
mov rcx, qword [rsp + 0x50]
call fcn.14015c220
jmp 0x14013eab5
test cl, 0x40
je 0x14013eab5
lea r9, str.cannot_add_a_STORED_column
mov r8, rsi
mov rdx, rbp
mov rcx, rdi
call fcn.14013ec50
mov r8d, dword [r12 + 8]
mov rcx, r14
mov rdx, qword [r12]
call fcn.14017fde0
mov rbx, rax
test rax, rax
je 0x14013eb2c
mov ecx, dword [r12 + 8]
dec ecx
add rcx, rax
cmp rcx, rax
jbe 0x14013eafc
lea rdx, [0x1401b7110]
movzx eax, byte [rcx]
cmp al, 0x3b
je 0x14013eaf1
test byte [rax + rdx], 1
je 0x14013eafc
mov byte [rcx], 0
dec rcx
cmp rcx, rbx
ja 0x14013eae4
mov r9d, dword [r15 + 0x40]
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 + 0x30], rsi
mov r8, rbp
mov dword [rsp + 0x28], r9d
mov rcx, rdi
mov qword [rsp + 0x20], rbx
call fcn.140138fd0
mov rdx, rbx
mov rcx, r14
call fcn.1401803d0
mov rcx, rdi
call fcn.14011dde0
mov r14, rax
test rax, rax
je 0x14013ec10
mov rcx, rdi
call fcn.14013f250
mov r12d, dword [rsp + 0x40]
mov r9d, eax
mov r8d, r12d
mov dword [rsp + 0x20], 2
mov edx, 0x63
mov rcx, r14
mov ebx, eax
call fcn.14015bbb0
mov edx, r12d
mov rcx, r14
call fcn.14015a8b0
mov r9d, 0xfffffffe
mov r8d, ebx
mov rcx, r14
lea edx, [r9 + 0x58]
call fcn.14015bc30
mov rcx, r14
call fcn.14015b400
mov r8d, ebx
mov edx, 0x3b
lea r9d, [rax + 2]
call fcn.14015bc30
mov r9d, 2
mov dword [rsp + 0x20], 3
mov r8d, r12d
mov rcx, r14
lea edx, [r9 + 0x62]
call fcn.14015bbb0
mov edx, ebx
mov rcx, rdi
call fcn.14013f230
mov r8d, 3
mov edx, r12d
call fcn.14013efc0
cmp qword [r15 + 0x20], 0
jne 0x14013ebfb
test byte [r13 + 8], 0xf
je 0x14013ebed
test byte [r13 + 0x12], 0x60
jne 0x14013ebfb
mov rax, qword [rsp + 0x48]
test dword [rax + 0x30], 0x10000
je 0x14013ec10
mov r9, 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 r8, rsi
mov rcx, rdi
call fcn.140138fd0
mov r13, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov rbp, qword [rsp + 0x78]
mov rbx, qword [rsp + 0xb0]
mov r15, qword [rsp + 0x60]
mov rcx, qword [rsp + 0x58]
xor rcx, rsp
call fcn.1400b5540
add rsp, 0x80
pop r14
pop r12
pop rdi
ret