Function at 0x140335b50
Capabilities:
Reference sql statements

Disassembly:
mov r11, rsp
push rbx
push r13
sub rsp, 0x98
mov rax, qword [0x1404af540]
xor rax, rsp
mov qword [rsp + 0x60], rax
cmp dword [rcx + 0x30], 0
mov rbx, rcx
mov r13, qword [rcx]
mov qword [rsp + 0x40], rdx
jne 0x14033607c
mov qword [r11 + 0x18], rbp
xor edx, edx
mov qword [r11 - 0x18], rsi
mov esi, 0xffff8000
mov qword [r11 - 0x28], r12
mov qword [r11 - 0x30], r14
mov r14, qword [rcx + 0x160]
mov qword [r11 - 0x38], r15
mov rcx, qword [r14 + 0x60]
test rcx, rcx
je 0x140335bcb
mov rax, qword [r13 + 0x20]
mov esi, edx
add rax, 0x18
cmp qword [rax], rcx
je 0x140335bcb
nop dword [rax + rax]
inc esi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140335bc0
mov rax, qword [r13 + 0x20]
mov rbp, qword [r14]
movsxd rcx, esi
add rbp, 0x10
shl rcx, 5
mov qword [rsp + 0x88], rdi
mov r12, qword [rcx + rax]
movsx rax, word [r14 + 0x36]
lea r15, [rax + rax*2]
mov rax, qword [r14 + 8]
lea r15, [r15 - 3]
lea r15, [rax + r15*8]
movzx eax, word [r15 + 0x10]
mov qword [rsp + 0x48], r15
test ax, ax
jne 0x140335c12
mov rdi, rdx
jmp 0x140335c3d
cmp byte [r14 + 0x3f], dl
je 0x140335c1d
mov rdi, rdx
jmp 0x140335c3d
mov rdi, qword [r14 + 0x50]
test rdi, rdi
jne 0x140335c2b
mov rdi, rdx
jmp 0x140335c3d
cmp dword [rdi], eax
jge 0x140335c34
mov rdi, rdx
jmp 0x140335c3d
shl rax, 5
mov rdi, qword [rax + rdi - 0x18]
mov r8, r12
mov rdx, rbp
mov rcx, r13
call fcn.14034d2b0
mov r8, r12
mov qword [rsp + 0x50], rax
mov edx, reloc.OLEAUT32.dll_SafeArrayCopy
mov qword [rsp + 0x20], 0
mov rcx, rbx
mov r9, qword [rax]
call fcn.1403376f0
test eax, eax
jne 0x140336052
movzx ecx, word [r15 + 0x12]
test cl, 1
je 0x140335c92
lea rdx, str.Cannot_add_a_PRIMARY_KEY_column
mov rcx, rbx
call fcn.1403458b0
jmp 0x140336052
cmp qword [r14 + 0x10], 0
je 0x140335cad
lea rdx, str.Cannot_add_a_UNIQUE_column
mov rcx, rbx
call fcn.1403458b0
jmp 0x140336052
test cl, 0x60
jne 0x140335e63
test rdi, rdi
je 0x140335ccb
mov rax, qword [rdi + 0x10]
cmp byte [rax], 0x79
mov eax, 0
cmove rdi, rax
mov eax, dword [r13 + 0x30]
bt rax, 0xe
jae 0x140335d00
cmp qword [r14 + 0x48], 0
je 0x140335d00
test rdi, rdi
je 0x140335d00
mov r9, r12
mov qword [rsp + 0x20], rbp
lea r8, str.Cannot_add_a_REFERENCES_column_with_non_NULL_default_value
mov rcx, rbx
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
call fcn.14036c3b0
test byte [r15 + 8], 0xf
je 0x140335d18
test rdi, rdi
jne 0x140335d21
lea r8, str.Cannot_add_a_NOT_NULL_column_with_default_value_NULL
jmp 0x140335e6f
test rdi, rdi
je 0x140335e86
xor eax, eax
mov r9b, 0x41
mov qword [rsp + 0x28], rax
mov r8b, 1
mov qword [rsp + 0x58], rax
mov rdx, rdi
lea rax, [rsp + 0x58]
mov rcx, r13
mov qword [rsp + 0x20], rax
call fcn.1403aec90
test eax, eax
jne 0x140336052
mov rdi, qword [rsp + 0x58]
test rdi, rdi
jne 0x140335d86
mov r9, r12
mov qword [rsp + 0x20], rbp
lea r8, str.Cannot_add_a_column_with_non_constant_default
mov rcx, rbx
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
call fcn.14036c3b0
mov rdi, qword [rsp + 0x58]
test rdi, rdi
je 0x140335e86
mov eax, 0x9000
test word [rdi + 0x14], ax
jne 0x140335d97
cmp dword [rdi + 0x20], 0
je 0x140335d9f
mov rcx, rdi
call fcn.1403b0c50
mov rcx, qword [rdi + 0x18]
test rcx, rcx
je 0x140335e06
cmp rdi, qword [rcx + 0x208]
jae 0x140335def
cmp rdi, qword [rcx + 0x1f8]
jb 0x140335dd0
mov rax, qword [rcx + 0x1f0]
mov qword [rdi], rax
mov qword [rcx + 0x1f0], rdi
jmp 0x140335e86
cmp rdi, qword [rcx + 0x200]
jb 0x140335def
mov rax, qword [rcx + 0x1e0]
mov qword [rdi], rax
mov qword [rcx + 0x1e0], rdi
jmp 0x140335e86
cmp qword [rcx + 0x320], 0
je 0x140335e06
mov rdx, rdi
call fcn.14030f7f0
jmp 0x140335e86
cmp dword [reloc.SinoSPE.dll_Ordinal_1], 0
je 0x140335e58
mov rcx, qword [0x1404b8660]
test rcx, rcx
je 0x140335e21
call qword [0x1404a5bd0]
mov rcx, rdi
call qword [0x1404a5b88]
dec qword [0x1404b85e8]
movsxd rcx, eax
sub qword [0x1404b85a0], rcx
mov rcx, rdi
call qword [0x1404a5b78]
mov rcx, qword [0x1404b8660]
test rcx, rcx
je 0x140335e86
call qword [0x1404a5be0]
jmp 0x140335e86
mov rcx, rdi
call qword [0x1404a5b78]
jmp 0x140335e86
test cl, 0x40
je 0x140335e86
lea r8, str.cannot_add_a_STORED_column
mov r9, r12
mov qword [rsp + 0x20], rbp
lea rdx, str.SELECT_raise_ABORT__Q__FROM___w_.__w_
mov rcx, rbx
call fcn.14036c3b0
mov rax, qword [rsp + 0x40]
mov r15d, dword [rax + 8]
mov rax, qword [rax]
mov qword [rsp + 0x58], rax
test rax, rax
je 0x140335f2a
lea rdx, [r15 + 1]
mov rcx, r13
call fcn.140342dc0
mov rdi, rax
test rax, rax
je 0x140335f2a
mov rdx, qword [rsp + 0x58]
mov r8d, r15d
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov rdx, qword [rsp + 0x40]
mov byte [rdi + r15], 0
mov ecx, dword [rdx + 8]
dec ecx
add rcx, rdi
cmp rcx, rdi
jbe 0x140335efa
lea rdx, [0x1403e0580]
movzx eax, byte [rcx]
cmp al, 0x3b
je 0x140335eef
test byte [rax + rdx], 1
je 0x140335efa
mov byte [rcx], 0
dec rcx
cmp rcx, rdi
ja 0x140335ee2
mov r9d, dword [r14 + 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], rbp
mov r8, r12
mov dword [rsp + 0x28], r9d
mov rcx, rbx
mov qword [rsp + 0x20], rdi
call fcn.14036c3b0
mov rdx, rdi
mov rcx, r13
call fcn.140342c30
mov rdi, qword [rbx + 0x10]
test rdi, rdi
jne 0x140335f5d
cmp qword [rbx + 0xb0], rdi
jne 0x140335f49
mov rax, qword [rbx]
test byte [rax + 0x60], 8
jne 0x140335f49
mov byte [rbx + 0x23], 1
mov rcx, rbx
call fcn.1403861a0
mov rdi, rax
test rax, rax
je 0x140336052
movzx eax, byte [rbx + 0x1f]
test al, al
jne 0x140335f6e
inc dword [rbx + 0x38]
mov r15d, dword [rbx + 0x38]
jmp 0x140335f7e
dec al
movzx eax, al
mov byte [rbx + 0x1f], al
mov r15d, dword [rbx + rax*4 + 0xe8]
mov r9d, r15d
mov dword [rsp + 0x20], 2
mov r8d, esi
mov edx, 0x63
mov rcx, rdi
call fcn.140385930
mov edx, esi
mov rcx, rdi
call fcn.140394f00
mov r9d, 0xfffffffe
mov r8d, r15d
mov edx, 0x56
call fcn.1403858c0
mov r9d, dword [rdi + 0x90]
mov r8d, r15d
add r9d, 2
mov edx, Ordinal_60
mov rcx, rdi
call fcn.1403858c0
mov r9d, 2
mov dword [rsp + 0x20], 3
mov r8d, esi
mov edx, 0x64
mov rcx, rdi
call fcn.140385930
test r15d, r15d
je 0x140336007
movzx eax, byte [rbx + 0x1f]
cmp al, 8
jae 0x140336007
mov dword [rbx + rax*4 + 0xe8], r15d
inc byte [rbx + 0x1f]
mov r8d, 3
mov edx, esi
mov rcx, rbx
call fcn.1403215a0
cmp qword [r14 + 0x20], 0
jne 0x14033603d
mov rax, qword [rsp + 0x48]
test byte [rax + 8], 0xf
je 0x14033602f
test byte [rax + 0x12], 0x60
jne 0x14033603d
mov rax, qword [rsp + 0x50]
test dword [rax + 0x30], 0x10000
je 0x140336052
mov r9, r12
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, rbp
mov rcx, rbx
call fcn.14036c3b0
mov rdi, qword [rsp + 0x88]
mov r12, qword [rsp + 0x80]
mov r14, qword [rsp + 0x78]
mov rsi, qword [rsp + 0x90]
mov rbp, qword [rsp + 0xc0]
mov r15, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
xor rcx, rsp
call fcn.1403ca460
add rsp, 0x98
pop r13
pop rbx
ret