Function at 0x140067390
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r15
sub rsp, 0x78
mov rsi, qword [rcx]
mov rdi, r8
mov rbp, rdx
mov qword [rsp + 0x50], rsi
mov r15, rcx
cmp byte [rsi + 0x67], 0
jne 0x140067d7f
mov r9, qword [rdx + 8]
mov qword [rax + 0x18], rbx
xor ebx, ebx
mov qword [rax - 0x28], r12
test r9, r9
je 0x1400673fa
mov rdx, qword [rsi + 0x20]
mov ecx, ebx
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x1400673ed
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x1400673e2
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x1400673fe
mov r9, qword [rdx + 0x10]
mov r8, qword [rbp + 0x18]
xor edx, edx
mov rcx, r15
call fcn.14006c910
mov r12, rax
test rax, rax
je 0x140067d72
mov rdx, rax
mov rcx, r15
call fcn.140061f50
test eax, eax
jne 0x140067d72
cmp byte [r12 + 0x3f], 2
lea r9, str.view
cmovne r9, rbx
cmp byte [r12 + 0x3f], 1
jne 0x14006744d
lea r9, str.virtual_table
jmp 0x140067452
test r9, r9
je 0x140067476
mov rax, qword [r12]
lea r8, str.drop_column_from
lea rdx, str.cannot__s__s___s_
mov qword [rsp + 0x20], rax
mov rcx, r15
call fcn.140010690
jmp 0x140067d72
mov rdx, rdi
mov qword [rsp + 0x60], r14
mov rcx, rsi
call fcn.14006d5a0
mov qword [rsp + 0x58], rax
mov r14, rax
test rax, rax
je 0x140067d6d
mov rcx, rax
mov qword [rsp + 0x68], r13
movzx eax, byte [rax]
lea rdx, [0x1400eef10]
xor r11b, r11b
test al, al
je 0x1400674c2
movzx eax, al
lea rcx, [rcx + 1]
add r11b, byte [rax + rdx]
movzx eax, byte [rcx]
test al, al
jne 0x1400674b0
mov r10, qword [r12 + 8]
mov r13d, ebx
movsx ebx, word [r12 + 0x36]
xor eax, eax
cmp ax, bx
jge 0x14006757d
nop dword [rax + rax]
cmp byte [r10 + 0xe], r11b
jne 0x14006756d
mov r8, qword [r10]
mov r9, r14
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x14006754b
test ecx, ecx
jne 0x140067568
test r13d, r13d
js 0x14006757d
movsxd rax, r13d
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
movzx edx, word [rax + rcx*8 + 0x12]
test dl, 9
je 0x140067594
test dl, 1
lea rax, str.PRIMARY_KEY
lea r8, str.UNIQUE
mov r9, r14
cmovne r8, rax
lea rdx, str.cannot_drop__s_column:___s_
mov rcx, r15
call fcn.140010690
jmp 0x140067d5d
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x1400eef10]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
lea rdx, [0x1400eef10]
jne 0x14006756d
inc r8
jmp 0x1400674f3
add r10, 0x18
inc r13d
cmp r13d, ebx
jl 0x1400674e0
mov r8, rdi
lea rdx, str.no_such_column:___T_
mov rcx, r15
call fcn.140010690
jmp 0x140067d5d
cmp word [r12 + 0x36], 1
jg 0x1400675b4
mov r8, r14
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
mov rcx, r15
call fcn.140010690
jmp 0x140067d5d
mov rcx, qword [r12 + 0x60]
mov edi, 0xffff8000
mov ebp, r13d
test rcx, rcx
je 0x1400675eb
xor eax, eax
mov edi, eax
mov rax, qword [rsi + 0x20]
add rax, 0x18
cmp qword [rax], rcx
je 0x1400675eb
nop word [rax + rax]
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1400675e0
mov rax, qword [rsi + 0x20]
mov edx, 0x1a
mov r9, qword [r12]
movsxd rcx, edi
shl rcx, 5
mov qword [rsp + 0x20], r14
mov rbx, qword [rcx + rax]
mov rcx, r15
mov r8, rbx
call fcn.14006b9a0
test eax, eax
jne 0x140067d55
xor eax, eax
mov byte [r15 + 0x1c], 1
mov esi, eax
mov dword [rsp + 0x30], eax
lea rax, [0x1400f3dad]
cmp edi, 1
mov qword [rsp + 0x28], rax
lea rdx, str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
sete sil
mov r9, rbx
mov r8, rbx
mov dword [rsp + 0x20], esi
mov rcx, r15
call fcn.14006c350
mov r8, rbx
mov rcx, r15
cmp edi, 1
je 0x14006769e
xor eax, eax
lea r9, [0x1400f3dad]
lea rdx, str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
mov dword [rsp + 0x20], eax
call fcn.14006c350
mov r9, rbx
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_quotefix__Q__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
mov r8, rbx
mov rcx, r15
call fcn.14006c350
lea rdx, str.UPDATE_temp.sqlite_master_SET_sql__sqlite_rename_quotefix_temp__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
mov rcx, r15
call fcn.14006c350
jmp 0x1400676ad
mov r9, rbx
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_quotefix__Q__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
call fcn.14006c350
mov rax, qword [r12]
lea rdx, str.UPDATE___w_.sqlite_master_SET_sql__sqlite_drop_column__d__sql___d__WHERE__typetable_AND_tbl_name_Q_COLLATE_nocase_
mov qword [rsp + 0x28], rax
mov r9d, edi
mov r8, rbx
mov dword [rsp + 0x20], ebp
mov rcx, r15
call fcn.14006c350
mov r8d, 2
mov edx, edi
mov rcx, r15
call fcn.140062040
lea rax, str.after_drop_column
mov dword [rsp + 0x30], 1
mov qword [rsp + 0x28], rax
lea rdx, str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
mov r9, rbx
mov dword [rsp + 0x20], esi
mov r8, rbx
mov byte [r15 + 0x1c], 1
mov rcx, r15
call fcn.14006c350
cmp edi, 1
je 0x140067737
lea r9, str.after_drop_column
mov dword [rsp + 0x20], 1
mov r8, rbx
lea rdx, str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
mov rcx, r15
call fcn.14006c350
cmp dword [r15 + 0x30], 0
jne 0x140067d50
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
jne 0x140067d50
mov rbx, qword [r15 + 0x10]
xor eax, eax
mov esi, eax
mov r14d, eax
test rbx, rbx
jne 0x14006778b
cmp qword [r15 + 0xb0], rax
jne 0x140067780
mov rax, qword [r15]
test byte [rax + 0x60], 8
jne 0x140067780
mov byte [r15 + 0x23], 1
mov rcx, r15
call fcn.14003afe0
mov rbx, rax
mov ebp, dword [r15 + 0x34]
mov r9, r12
mov r8d, edi
mov dword [rsp + 0xb8], ebp
mov edx, ebp
mov dword [rsp + 0x20], 0x71
lea ecx, [rbp + 1]
mov dword [r15 + 0x34], ecx
mov rcx, r15
call fcn.140083e60
movsxd rdx, dword [rbx + 0x90]
mov dword [rsp + 0x48], edx
cmp dword [rbx + 0x94], edx
jg 0x1400677ea
xor eax, eax
xor r9d, r9d
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov edx, 0x24
mov rcx, rbx
call fcn.14003b2d0
mov dword [rsp + 0x48], eax
xor r11d, r11d
jmp 0x140067816
lea rcx, [rdx + rdx*2]
xor r11d, r11d
lea eax, [rdx + 1]
mov dword [rbx + 0x90], eax
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], ebp
mov qword [rax + rcx*8 + 8], r11
mov qword [rax + rcx*8 + 0x10], r11
mov r10d, dword [r15 + 0x38]
inc r10d
mov dword [r15 + 0x38], r10d
test byte [r12 + 0x30], 0x80
mov dword [rsp + 0x40], r10d
jne 0x1400678b5
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140067874
mov r9d, r10d
mov dword [rsp + 0x20], r11d
mov r8d, ebp
mov edx, 0x87
mov rcx, rbx
call fcn.14003b2d0
movsx eax, word [r12 + 0x36]
xor r11d, r11d
add dword [r15 + 0x38], eax
mov eax, dword [r15 + 0x38]
mov r10d, dword [rsp + 0x40]
jmp 0x14006796b
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x87
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], r10d
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
movsx eax, word [r12 + 0x36]
add dword [r15 + 0x38], eax
mov eax, dword [r15 + 0x38]
jmp 0x14006796b
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x1400678d2
nop
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x1400678d2
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1400678c0
movzx eax, word [rsi + 0x60]
mov edi, r11d
add eax, r10d
mov dword [r15 + 0x38], eax
movzx ecx, word [rsi + 0x5e]
cmp r11w, cx
jae 0x140067967
lea r14d, [r10 + 1]
nop
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x14006791f
lea eax, [r14 + rdi]
mov r9d, edi
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov edx, 0x5e
mov rcx, rbx
call fcn.14003b2d0
xor r11d, r11d
jmp 0x140067951
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x5e
mov dword [rax + rcx*8 + 4], ebp
mov dword [rax + rcx*8 + 8], edi
lea rdx, [rax + rcx*8]
lea eax, [r14 + rdi]
mov qword [rdx + 0x10], r11
mov dword [rdx + 0xc], eax
movzx eax, word [rsi + 0x5e]
inc edi
cmp edi, eax
jl 0x1400678f0
mov r10d, dword [rsp + 0x40]
movzx ecx, ax
mov eax, dword [r15 + 0x38]
movzx r14d, cx
inc eax
mov ebp, r11d
mov dword [r15 + 0x38], eax
mov dword [rsp + 0x44], eax
cmp r11w, word [r12 + 0x36]
jge 0x140067b03
mov r15d, dword [rsp + 0xb8]
mov edi, 0xffffffff
cmp ebp, r13d
je 0x140067aeb
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
jne 0x140067aeb
test rsi, rsi
je 0x140067a31
movzx edx, word [rsi + 0x60]
mov ecx, r11d
test edx, edx
je 0x1400679d5
mov r8, qword [rsi + 8]
movsxd rax, ecx
cmp bp, word [r8 + rax*2]
je 0x140067a24
inc ecx
cmp ecx, edx
jl 0x1400679c5
movzx edx, word [rsi + 0x60]
mov r8d, edi
mov ecx, r11d
test edx, edx
je 0x140067a00
mov r9, qword [rsi + 8]
nop word [rax + rax]
movsxd rax, ecx
cmp r13w, word [r9 + rax*2]
je 0x140067a03
inc ecx
cmp ecx, edx
jl 0x1400679f0
movzx ecx, di
movzx eax, word [rsi + 0x5e]
cmp r8d, eax
jl 0x140067aeb
movsx eax, cx
mov ecx, r11d
cmp r8d, eax
setg cl
sub r8d, ecx
add r8d, r10d
jmp 0x140067a35
movzx edx, word [rsi + 0x60]
movsx r8d, cx
mov ecx, r11d
jmp 0x1400679e3
lea r8d, [r10 + r14]
movsx eax, word [r12 + 0x34]
inc r8d
cmp ebp, eax
jne 0x140067a98
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140067a6b
mov r9d, r8d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbx
call fcn.14003b2d0
jmp 0x140067ae0
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
jmp 0x140067ae8
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
movzx edi, byte [rax + rcx*8 + 0xc]
cmp dil, 0x45
jne 0x140067ab4
mov byte [rax + rcx*8 + 0xc], 0x43
mov dword [rsp + 0x20], r8d
mov r9d, ebp
mov r8d, r15d
mov rdx, r12
mov rcx, rbx
call fcn.14005ca10
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov byte [rax + rcx*8 + 0xc], dil
mov edi, 0xffffffff
mov r10d, dword [rsp + 0x40]
xor r11d, r11d
inc r14d
movsx eax, word [r12 + 0x36]
inc ebp
cmp ebp, eax
jl 0x140067991
mov r15, qword [rsp + 0xa0]
test r14d, r14d
jne 0x140067b72
inc dword [r15 + 0x38]
lea r8d, [r10 + 1]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140067b41
mov r9d, r8d
mov dword [rsp + 0x20], r11d
xor r8d, r8d
mov edx, 0x4b
mov rcx, rbx
call fcn.14003b2d0
mov r10d, dword [rsp + 0x40]
xor r11d, r11d
jmp 0x140067b6c
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov qword [rax + rcx*8], 0x4b
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov r14d, 1
movsxd rcx, dword [rbx + 0x90]
lea edi, [r10 + 1]
cmp dword [rbx + 0x94], ecx
jg 0x140067baf
mov eax, dword [rsp + 0x44]
mov r9d, r14d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 0x61
mov rcx, rbx
call fcn.14003b2d0
mov r10d, dword [rsp + 0x40]
xor r11d, r11d
mov r9d, dword [rsp + 0x44]
jmp 0x140067be2
mov r9d, dword [rsp + 0x44]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r11
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [rsp + 0xb8]
test rsi, rsi
je 0x140067c49
movzx edx, word [rsi + 0x5e]
cmp dword [rbx + 0x94], ecx
jg 0x140067c24
mov dword [rsp + 0x28], edx
mov rcx, rbx
mov edx, 0x8a
mov dword [rsp + 0x20], edi
call fcn.14003b330
mov r8d, dword [rsp + 0xb8]
xor r11d, r11d
jmp 0x140067c9f
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0xfd8a
mov dword [rax + rcx*8 + 0xc], edi
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x140067c95
cmp dword [rbx + 0x94], ecx
jg 0x140067c70
mov edx, 0x80
mov dword [rsp + 0x20], r10d
mov rcx, rbx
call fcn.14003b2d0
mov r8d, dword [rsp + 0xb8]
xor r11d, r11d
jmp 0x140067c9f
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x80
mov dword [rax + rcx*8 + 0xc], r10d
mov qword [rax + rcx*8 + 0x10], r11
mov dword [rax + rcx*8 + 8], r9d
mov dword [rax + rcx*8 + 4], r8d
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x140067cbc
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], 2
movsxd rdi, dword [rsp + 0x48]
movsxd rcx, dword [rbx + 0x90]
lea edx, [rdi + 1]
cmp dword [rbx + 0x94], ecx
jg 0x140067cea
mov r9d, edx
mov dword [rsp + 0x20], r11d
mov edx, 0x27
mov rcx, rbx
call fcn.14003b2d0
jmp 0x140067d18
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8], 0x27
mov dword [rax + rcx*8 + 4], r8d
mov dword [rax + rcx*8 + 8], edx
mov dword [rax + rcx*8 + 0xc], r11d
mov qword [rax + rcx*8 + 0x10], r11
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x140067d38
mov r14, qword [rsp + 0x58]
lea rax, [0x14010f610]
mov dword [rax + 8], edx
jmp 0x140067d50
mov rax, qword [rbx + 0x88]
lea rcx, [rdi + rdi*2]
mov r14, qword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
mov rsi, qword [rsp + 0x50]
mov rbp, qword [rsp + 0xa8]
mov rdx, r14
mov rcx, rsi
call fcn.14000c600
mov r13, qword [rsp + 0x68]
mov r14, qword [rsp + 0x60]
mov rbx, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, rsi
add rsp, 0x78
pop r15
pop rdi
pop rsi
pop rbp
jmp fcn.1400758c0