Function at 0x18007d830
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push r14
push r15
sub rsp, 0x78
mov r15, qword [rcx]
mov rbx, r8
mov rbp, rdx
mov qword [rsp + 0x58], r15
mov r14, rcx
cmp byte [r15 + 0x67], 0
jne 0x18007e205
mov r9, qword [rdx + 8]
mov qword [rsp + 0x68], r12
mov qword [rsp + 0x60], r13
xor r13d, r13d
test r9, r9
je 0x18007d8a8
mov rdx, qword [r15 + 0x20]
mov ecx, r13d
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x18007d89b
nop word [rax + rax]
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x18007d890
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x18007d8ac
mov r9, qword [rdx + 0x10]
mov r8, qword [rbp + 0x18]
xor edx, edx
mov rcx, r14
call fcn.180082cb0
mov qword [rsp + 0x48], rax
mov r12, rax
test rax, rax
je 0x18007e1fb
mov rdx, rax
mov rcx, r14
call fcn.180078b70
test eax, eax
jne 0x18007e1fb
cmp byte [r12 + 0x3f], 2
lea r9, str.view
cmovne r9, r13
cmp byte [r12 + 0x3f], 1
jne 0x18007d900
lea r9, str.virtual_table
jmp 0x18007d905
test r9, r9
je 0x18007d929
mov rax, qword [r12]
lea r8, str.drop_column_from
lea rdx, str.cannot__s__s___s_
mov qword [rsp + 0x20], rax
mov rcx, r14
call fcn.18002e270
jmp 0x18007e1fb
test rbx, rbx
je 0x18007e1fb
mov qword [rsp + 0xb0], rsi
mov rsi, qword [rbx]
mov qword [rsp + 0x70], rdi
mov edi, dword [rbx + 8]
test rsi, rsi
je 0x18007d971
lea rdx, [rdi + 1]
mov rcx, r15
call fcn.18002a8b0
mov r13, rax
test rax, rax
je 0x18007d971
mov r8d, edi
mov rdx, rsi
mov rcx, rax
call fcn.18013fe80
mov byte [rdi + r13], 0
mov rcx, r13
call fcn.18002e3d0
test r13, r13
je 0x18007e1ee
mov rdx, r13
mov rcx, r12
call fcn.1800ac7b0
mov dword [rsp + 0x50], eax
test eax, eax
jns 0x18007d9ac
mov r8, rbx
lea rdx, str.no_such_column:___T_
mov rcx, r14
call fcn.18002e270
jmp 0x18007e18c
cdqe
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
lea rbp, [rcx*8]
movzx ecx, word [rax + rcx*8 + 0x12]
test cl, 9
je 0x18007d9f5
test cl, 1
lea rax, str.PRIMARY_KEY
lea r8, str.UNIQUE
mov r9, r13
cmovne r8, rax
lea rdx, str.cannot_drop__s_column:___s_
mov rcx, r14
call fcn.18002e270
jmp 0x18007e184
cmp word [r12 + 0x36], 1
jg 0x18007da15
mov r8, r13
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
mov rcx, r14
call fcn.18002e270
jmp 0x18007e184
mov rcx, qword [r12 + 0x60]
mov edi, 0xffff8000
test rcx, rcx
je 0x18007da3e
mov rax, qword [r15 + 0x20]
xor edi, edi
add rax, 0x18
cmp qword [rax], rcx
je 0x18007da3e
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x18007da33
mov rax, qword [r15 + 0x20]
mov edx, 0x1a
mov r9, qword [r12]
movsxd rcx, edi
shl rcx, 5
mov qword [rsp + 0x20], r13
mov rbx, qword [rcx + rax]
mov rcx, r14
mov r8, rbx
call fcn.180081cf0
test eax, eax
jne 0x18007e184
mov dword [rsp + 0x30], eax
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
xor esi, esi
mov byte [r14 + 0x1c], 1
lea rax, [0x18016e73b]
cmp edi, 1
mov qword [rsp + 0x28], rax
mov r9, rbx
sete sil
mov r8, rbx
mov rcx, r14
mov dword [rsp + 0x20], esi
call fcn.1800826a0
mov r8, rbx
mov rcx, r14
cmp edi, 1
je 0x18007daf1
lea r9, [0x18016e73b]
mov dword [rsp + 0x20], 0
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
call fcn.1800826a0
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, r14
call fcn.1800826a0
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, r14
call fcn.1800826a0
jmp 0x18007db00
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.1800826a0
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 eax, dword [rsp + 0x50]
mov r8, rbx
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1800826a0
cmp qword [r14 + 0x10], 0
je 0x18007db66
mov edx, edi
mov rcx, r14
call fcn.180086740
mov rcx, qword [r14 + 0x10]
mov r9d, 2
xor r8d, r8d
mov edx, edi
call fcn.180054860
cmp edi, 1
je 0x18007db66
mov rcx, qword [r14 + 0x10]
mov r9d, 2
xor r8d, r8d
lea edx, [r9 - 1]
call fcn.180054860
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 [r14 + 0x1c], 1
mov rcx, r14
call fcn.1800826a0
cmp edi, 1
je 0x18007dbbe
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, r14
call fcn.1800826a0
cmp dword [r14 + 0x30], 0
jne 0x18007e184
mov rax, qword [r12 + 8]
test byte [rax + rbp + 0x12], 0x20
jne 0x18007e184
mov rbx, qword [r14 + 0x10]
xor esi, esi
xor ebp, ebp
test rbx, rbx
jne 0x18007dc08
cmp qword [r14 + 0xb0], rsi
jne 0x18007dbfd
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x18007dbfd
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.180053c20
mov rbx, rax
mov eax, dword [r14 + 0x34]
mov r8d, edi
mov r9, r12
mov dword [rsp + 0xb8], eax
mov edx, eax
mov dword [rsp + 0x20], 0x71
mov edi, eax
lea ecx, [rax + 1]
mov dword [r14 + 0x34], ecx
mov rcx, r14
call fcn.18009a6e0
movsxd rdx, dword [rbx + 0x90]
mov dword [rsp + 0x54], edx
cmp dword [rbx + 0x94], edx
jg 0x18007dc66
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, edi
mov rcx, rbx
lea edx, [r9 + 0x24]
call fcn.180053f80
mov dword [rsp + 0x54], eax
xor r8d, r8d
jmp 0x18007dc92
lea rcx, [rdx + rdx*2]
xor r8d, r8d
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], edi
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
inc dword [r14 + 0x38]
test byte [r12 + 0x30], 0x80
mov r11d, dword [r14 + 0x38]
mov dword [rsp + 0x40], r11d
jne 0x18007dd22
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18007dce5
mov dword [rsp + 0x20], r8d
mov r9d, r11d
mov r8d, edi
mov edx, 0x87
mov rcx, rbx
call fcn.180053f80
movsx eax, word [r12 + 0x36]
xor r8d, r8d
add eax, dword [r14 + 0x38]
mov r11d, dword [rsp + 0x40]
jmp 0x18007ddf5
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], edi
mov dword [rax + rcx*8 + 8], r11d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsx eax, word [r12 + 0x36]
add eax, dword [r14 + 0x38]
jmp 0x18007ddf5
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x18007dd42
nop dword [rax]
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x18007dd42
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x18007dd30
movzx eax, word [rsi + 0x60]
mov edi, r8d
add eax, r11d
mov dword [r14 + 0x38], eax
movzx ecx, word [rsi + 0x5e]
cmp r8w, cx
jae 0x18007ddf2
mov r12d, dword [rsp + 0xb8]
lea r15d, [r11 + 1]
nop word [rax + rax]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18007dd9f
lea eax, [r15 + rdi]
mov r9d, edi
mov r8d, r12d
mov dword [rsp + 0x20], eax
mov edx, 0x5e
mov rcx, rbx
call fcn.180053f80
xor r8d, r8d
jmp 0x18007ddd2
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], r12d
mov dword [rax + rcx*8 + 8], edi
lea rdx, [rax + rcx*8]
lea eax, [r15 + rdi]
mov qword [rdx + 0x10], r8
mov dword [rdx + 0xc], eax
movzx eax, word [rsi + 0x5e]
inc edi
cmp edi, eax
jl 0x18007dd70
mov r12, qword [rsp + 0x48]
movzx ecx, ax
mov eax, dword [r14 + 0x38]
mov r15, qword [rsp + 0x58]
mov r11d, dword [rsp + 0x40]
movzx ebp, cx
inc eax
mov edi, r8d
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x48], eax
cmp r8w, word [r12 + 0x36]
jge 0x18007df47
mov r15d, dword [rsp + 0xb8]
mov r9d, 0xffffffff
mov r14d, dword [rsp + 0x50]
cmp edi, r14d
je 0x18007df24
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
jne 0x18007df24
test rsi, rsi
je 0x18007de9a
movzx edx, word [rsi + 0x60]
mov ecx, r8d
test edx, edx
je 0x18007de65
mov r8, qword [rsi + 8]
movsxd rax, ecx
cmp di, word [r8 + rax*2]
je 0x18007de69
inc ecx
cmp ecx, edx
jl 0x18007de55
movzx ecx, r9w
movzx eax, word [rsi + 0x5e]
movsx r10d, cx
cmp r10d, eax
jl 0x18007df24
movzx edx, r14w
mov rcx, rsi
call fcn.180084400
movsx ecx, ax
xor r8d, r8d
cmp r10d, ecx
mov eax, r8d
setg al
sub r10d, eax
jmp 0x18007de9d
mov r10d, ebp
movsx eax, word [r12 + 0x34]
lea edx, [r11 + 1]
add edx, r10d
cmp edi, eax
jne 0x18007df02
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18007ded6
mov dword [rsp + 0x20], r8d
mov r9d, edx
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x4b]
call fcn.180053f80
jmp 0x18007df17
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], edx
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
jmp 0x18007df1c
mov dword [rsp + 0x20], edx
mov r9d, edi
mov rdx, r12
mov r8d, r15d
mov rcx, rbx
call fcn.1800736b0
mov r11d, dword [rsp + 0x40]
inc ebp
mov r9d, 0xffffffff
movsx eax, word [r12 + 0x36]
inc edi
mov r8d, 0
cmp edi, eax
jl 0x18007de21
mov r14, qword [rsp + 0xa0]
mov r15, qword [rsp + 0x58]
lea edi, [r11 + 1]
test ebp, ebp
jne 0x18007dfac
inc dword [r14 + 0x38]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18007df7d
mov dword [rsp + 0x20], r8d
lea edx, [rbp + 0x4b]
xor r8d, r8d
mov r9d, edi
mov rcx, rbx
call fcn.180053f80
xor r8d, r8d
jmp 0x18007dfa7
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], edi
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov ebp, 1
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18007dfdd
mov eax, dword [rsp + 0x48]
mov r9d, ebp
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 0x61
mov rcx, rbx
call fcn.180053f80
mov r9d, dword [rsp + 0x48]
jmp 0x18007e00f
mov r9d, dword [rsp + 0x48]
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], ebp
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
mov r8d, dword [rsp + 0xb8]
test rsi, rsi
je 0x18007e081
movzx edx, word [rsi + 0x5e]
cmp dword [rbx + 0x94], ecx
jg 0x18007e054
mov dword [rsp + 0x28], edx
mov rcx, rbx
mov edx, 0x8a
mov dword [rsp + 0x20], edi
call fcn.180053fe0
mov r8d, dword [rsp + 0xb8]
xor r9d, r9d
jmp 0x18007e0dc
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8 + 8], r9d
xor r9d, r9d
mov dword [rax + rcx*8], 0xfd8a
mov dword [rax + rcx*8 + 0xc], edi
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x18007e0d7
mov edx, dword [rsp + 0x40]
cmp dword [rbx + 0x94], ecx
jg 0x18007e0ab
mov dword [rsp + 0x20], edx
mov rcx, rbx
mov edx, 0x80
call fcn.180053f80
mov r8d, dword [rsp + 0xb8]
xor r9d, r9d
jmp 0x18007e0dc
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
mov dword [rax + rcx*8 + 8], r9d
xor r9d, r9d
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8], 0x80
mov dword [rax + rcx*8 + 0xc], edx
mov dword [rax + rcx*8 + 4], r8d
movsxd rcx, dword [rbx + 0x90]
test ecx, ecx
jle 0x18007e102
mov rax, qword [rbx + 0x88]
lea rcx, [rcx + rcx*2]
mov edx, 2
mov word [rax + rcx*8 - 0x16], dx
mov ecx, dword [rbx + 0x90]
movsxd rdi, dword [rsp + 0x54]
lea edx, [rdi + 1]
cmp dword [rbx + 0x94], ecx
jg 0x18007e129
mov dword [rsp + 0x20], r9d
mov rcx, rbx
mov r9d, edx
mov edx, 0x27
call fcn.180053f80
jmp 0x18007e15a
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
movsxd rax, ecx
lea rcx, [rax + rax*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], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x18007e172
lea rax, [0x180197378]
jmp 0x18007e181
mov rax, qword [rbx + 0x88]
lea rcx, [rdi + rdi*2]
lea rax, [rax + rcx*8]
mov dword [rax + 8], edx
mov rbp, qword [rsp + 0xa8]
cmp r13, qword [r15 + 0x1f0]
jae 0x18007e1cf
cmp r13, qword [r15 + 0x1e0]
jb 0x18007e1b2
mov rax, qword [r15 + 0x1d8]
mov qword [r13], rax
mov qword [r15 + 0x1d8], r13
jmp 0x18007e1ee
cmp r13, qword [r15 + 0x1e8]
jb 0x18007e1cf
mov rax, qword [r15 + 0x1c8]
mov qword [r13], rax
mov qword [r15 + 0x1c8], r13
jmp 0x18007e1ee
cmp qword [r15 + 0x308], 0
je 0x18007e1e6
mov rdx, r13
mov rcx, r15
call fcn.18002a490
jmp 0x18007e1ee
mov rcx, r13
call fcn.18002a420
mov rdi, qword [rsp + 0x70]
mov rsi, qword [rsp + 0xb0]
mov r12, qword [rsp + 0x68]
mov r13, qword [rsp + 0x60]
mov rdx, rbp
mov rcx, r15
add rsp, 0x78
pop r15
pop r14
pop rbp
pop rbx
jmp fcn.18008c580