Function at 0x18006d990
Capabilities:
Reference sql statements

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbp
push rsi
push r13
push r15
sub rsp, 0x78
mov r13, qword [rcx]
mov rsi, r8
mov rbp, rdx
mov qword [rsp + 0x58], r13
mov r15, rcx
cmp byte [r13 + 0x67], 0
jne 0x18006e37e
mov r9, qword [rdx + 8]
mov qword [rsp + 0x70], rdi
xor edi, edi
mov qword [rsp + 0x68], r12
test r9, r9
je 0x18006d9fd
mov rdx, qword [r13 + 0x20]
mov ecx, edi
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x18006d9f0
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x18006d9e5
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x18006da01
mov r9, qword [rdx + 0x10]
mov r8, qword [rbp + 0x18]
xor edx, edx
mov rcx, r15
call fcn.180072ed0
mov r12, rax
test rax, rax
je 0x18006e374
mov rdx, rax
mov rcx, r15
call fcn.180068620
test eax, eax
jne 0x18006e374
cmp byte [r12 + 0x3f], 2
lea r9, str.view
cmovne r9, rdi
cmp byte [r12 + 0x3f], 1
jne 0x18006da50
lea r9, str.virtual_table
jmp 0x18006da55
test r9, r9
je 0x18006da79
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.180016f30
jmp 0x18006e374
mov rdx, rsi
mov qword [rsp + 0x60], r14
mov rcx, r13
call fcn.180073bd0
mov qword [rsp + 0x50], rax
mov r14, rax
test rax, rax
je 0x18006e36f
mov qword [rsp + 0xb0], rbx
lea rdx, [0x18012da20]
mov rcx, rax
xor bl, bl
movzx eax, byte [rax]
test al, al
je 0x18006dad1
nop word [rax + rax]
movzx eax, al
lea rcx, [rcx + 1]
add bl, byte [rax + rdx]
movzx eax, byte [rcx]
test al, al
jne 0x18006dac0
mov r11, qword [r12 + 8]
mov r10d, edi
movsx edi, word [r12 + 0x36]
test edi, edi
jle 0x18006db8d
nop word [rax + rax]
cmp byte [r11 + 0xe], bl
jne 0x18006db7d
mov r8, qword [r11]
mov r9, r14
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x18006db5b
test ecx, ecx
jne 0x18006db78
test r10d, r10d
js 0x18006db8d
movsxd rax, r10d
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
movzx edx, word [rax + rcx*8 + 0x12]
test dl, 9
je 0x18006dba4
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.180016f30
jmp 0x18006e35c
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x18012da20]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
lea rdx, [0x18012da20]
jne 0x18006db7d
inc r8
jmp 0x18006db03
add r11, 0x18
inc r10d
cmp r10d, edi
jl 0x18006daf0
mov r8, rsi
lea rdx, str.no_such_column:___T_
mov rcx, r15
call fcn.180016f30
jmp 0x18006e35c
cmp word [r12 + 0x36], 1
jg 0x18006dbc4
mov r8, r14
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
mov rcx, r15
call fcn.180016f30
jmp 0x18006e35c
mov rcx, qword [r12 + 0x60]
mov edi, 0xffff8000
mov dword [rsp + 0x40], r10d
mov ebp, r10d
test rcx, rcx
je 0x18006dbff
mov rax, qword [r13 + 0x20]
xor edi, edi
add rax, 0x18
mov dword [rsp + 0x40], r10d
cmp qword [rax], rcx
je 0x18006dbff
mov dword [rsp + 0x40], r10d
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x18006dbf4
mov rax, qword [r13 + 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.180071f60
test eax, eax
jne 0x18006e354
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 [r15 + 0x1c], 1
lea rax, [0x18012b0c9]
cmp edi, 1
mov qword [rsp + 0x28], rax
mov r9, rbx
sete sil
mov r8, rbx
mov rcx, r15
mov dword [rsp + 0x20], esi
call fcn.180072910
mov r8, rbx
mov rcx, r15
cmp edi, 1
je 0x18006dcb2
lea r9, [0x18012b0c9]
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.180072910
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.180072910
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.180072910
jmp 0x18006dcc1
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.180072910
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.180072910
mov r8d, 2
mov edx, edi
mov rcx, r15
call fcn.180068710
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.180072910
cmp edi, 1
je 0x18006dd4b
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.180072910
cmp dword [r15 + 0x30], 0
jne 0x18006e354
movsxd rax, ebp
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
jne 0x18006e354
mov rbx, qword [r15 + 0x10]
xor esi, esi
xor r14d, r14d
test rbx, rbx
jne 0x18006dd9d
cmp qword [r15 + 0xb0], rsi
jne 0x18006dd92
mov rax, qword [r15]
test byte [rax + 0x60], 8
jne 0x18006dd92
mov byte [r15 + 0x23], 1
mov rcx, r15
call fcn.1800416e0
mov rbx, rax
mov r13d, dword [r15 + 0x34]
mov r9, r12
mov r8d, edi
mov dword [rsp + 0x20], WSAStartup
mov edx, r13d
lea ecx, [r13 + 1]
mov dword [r15 + 0x34], ecx
mov rcx, r15
call fcn.18008a440
movsxd rdx, dword [rbx + 0x90]
mov dword [rsp + 0x44], edx
cmp dword [rbx + 0x94], edx
jg 0x18006ddf4
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov rcx, rbx
lea edx, [r9 + 0x24]
call fcn.1800419d0
mov dword [rsp + 0x44], eax
xor r9d, r9d
jmp 0x18006de21
lea rcx, [rdx + rdx*2]
xor r9d, r9d
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], r13d
mov qword [rax + rcx*8 + 8], r9
mov qword [rax + rcx*8 + 0x10], r9
mov r11d, dword [r15 + 0x38]
inc r11d
mov dword [r15 + 0x38], r11d
test byte [r12 + 0x30], 0x80
mov dword [rsp + 0xb8], r11d
jne 0x18006dec7
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18006de85
mov dword [rsp + 0x20], r9d
mov r8d, r13d
mov r9d, r11d
mov edx, 0x87
mov rcx, rbx
call fcn.1800419d0
movsx eax, word [r12 + 0x36]
xor r9d, r9d
add dword [r15 + 0x38], eax
mov eax, dword [r15 + 0x38]
mov r11d, dword [rsp + 0xb8]
jmp 0x18006df8f
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], r13d
mov dword [rax + rcx*8 + 8], r11d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
movsx eax, word [r12 + 0x36]
add dword [r15 + 0x38], eax
mov eax, dword [r15 + 0x38]
jmp 0x18006df8f
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x18006dee3
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x18006dee3
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x18006ded1
movzx eax, word [rsi + 0x60]
mov edi, r9d
add eax, r11d
mov dword [r15 + 0x38], eax
movzx ecx, word [rsi + 0x5e]
cmp r9w, cx
jae 0x18006df8b
lea r14d, [r11 + 1]
nop dword [rax]
nop word [rax + rax]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18006df3f
lea eax, [r14 + rdi]
mov r9d, edi
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x5e
mov rcx, rbx
call fcn.1800419d0
xor r9d, r9d
jmp 0x18006df72
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], r13d
mov dword [rax + rcx*8 + 8], edi
lea rdx, [rax + rcx*8]
lea eax, [r14 + rdi]
mov qword [rdx + 0x10], r9
mov dword [rdx + 0xc], eax
movzx eax, word [rsi + 0x5e]
inc edi
cmp edi, eax
jl 0x18006df10
mov r11d, dword [rsp + 0xb8]
movzx ecx, ax
mov eax, dword [r15 + 0x38]
movzx r14d, cx
lea ebp, [rax + 1]
mov edi, r9d
mov dword [r15 + 0x38], ebp
mov dword [rsp + 0x48], ebp
cmp r9w, word [r12 + 0x36]
jge 0x18006e111
mov r15d, dword [rsp + 0x40]
mov r10d, 0xffffffff
cmp edi, r15d
je 0x18006e0f5
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
jne 0x18006e0f5
test rsi, rsi
je 0x18006e038
movzx edx, word [rsi + 0x60]
mov ecx, r9d
test edx, edx
je 0x18006e000
mov r8, qword [rsi + 8]
nop dword [rax + rax]
movsxd rax, ecx
cmp di, word [r8 + rax*2]
je 0x18006e004
inc ecx
cmp ecx, edx
jl 0x18006dff0
movzx ecx, r10w
movzx eax, word [rsi + 0x5e]
movsx r10d, cx
cmp r10d, eax
jl 0x18006e0ef
movzx edx, r15w
mov rcx, rsi
call fcn.1800740a0
movsx ecx, ax
xor r9d, r9d
cmp r10d, ecx
mov eax, r9d
setg al
sub r10d, eax
add r10d, r11d
jmp 0x18006e03c
lea r10d, [r11 + r14]
movsx eax, word [r12 + 0x34]
inc r10d
cmp edi, eax
jne 0x18006e09e
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18006e071
xor r8d, r8d
mov dword [rsp + 0x20], r9d
mov r9d, r10d
mov rcx, rbx
lea edx, [r8 + 0x4b]
call fcn.1800419d0
jmp 0x18006e0e1
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], r10d
mov dword [rax + rcx*8 + 0xc], r9d
mov qword [rax + rcx*8 + 0x10], r9
jmp 0x18006e0ec
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
movzx ebp, byte [rax + rcx*8 + 0xc]
cmp bpl, 0x45
jne 0x18006e0ba
mov byte [rax + rcx*8 + 0xc], 0x43
mov r9d, edi
mov dword [rsp + 0x20], r10d
mov r8d, r13d
mov rdx, r12
mov rcx, rbx
call fcn.180063140
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r12 + 8]
mov byte [rax + rcx*8 + 0xc], bpl
mov r11d, dword [rsp + 0xb8]
xor r9d, r9d
inc r14d
mov r10d, 0xffffffff
movsx eax, word [r12 + 0x36]
inc edi
cmp edi, eax
jl 0x18006dfb4
mov r15, qword [rsp + 0xa0]
mov ebp, dword [rsp + 0x48]
test r14d, r14d
jne 0x18006e182
inc dword [r15 + 0x38]
lea r8d, [r11 + 1]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x18006e151
mov dword [rsp + 0x20], r9d
lea edx, [r14 + 0x4b]
mov r9d, r8d
mov rcx, rbx
xor r8d, r8d
call fcn.1800419d0
mov r11d, dword [rsp + 0xb8]
xor r9d, r9d
jmp 0x18006e17c
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], r9d
mov qword [rax + rcx*8 + 0x10], r9
mov r14d, 1
movsxd rcx, dword [rbx + 0x90]
lea edi, [r11 + 1]
cmp dword [rbx + 0x94], ecx
jg 0x18006e1b9
mov r9d, r14d
mov dword [rsp + 0x20], ebp
mov r8d, edi
mov edx, 0x61
mov rcx, rbx
call fcn.1800419d0
mov r11d, dword [rsp + 0xb8]
xor r9d, r9d
jmp 0x18006e1e6
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], ebp
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rbx + 0x90]
test rsi, rsi
je 0x18006e243
movzx edx, word [rsi + 0x5e]
cmp dword [rbx + 0x94], ecx
jg 0x18006e21e
mov dword [rsp + 0x28], edx
mov r9d, ebp
mov edx, 0x8a
mov dword [rsp + 0x20], edi
mov r8d, r13d
mov rcx, rbx
call fcn.180041a30
xor r9d, r9d
jmp 0x18006e296
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 0x18006e28d
cmp dword [rbx + 0x94], ecx
jg 0x18006e268
mov r9d, ebp
mov dword [rsp + 0x20], r11d
mov r8d, r13d
mov edx, 0x80
mov rcx, rbx
call fcn.1800419d0
xor r9d, r9d
jmp 0x18006e296
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], r11d
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8 + 8], ebp
mov dword [rax + rcx*8 + 4], r13d
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x18006e2b3
lea rcx, [rax + rax*2]
mov rax, qword [rbx + 0x88]
mov word [rax + rcx*8 - 0x16], 2
movsxd rdi, dword [rsp + 0x44]
movsxd rcx, dword [rbx + 0x90]
lea edx, [rdi + 1]
cmp dword [rbx + 0x94], ecx
jg 0x18006e2e4
mov dword [rsp + 0x20], r9d
mov r8d, r13d
mov r9d, edx
mov rcx, rbx
mov edx, 0x27
call fcn.1800419d0
jmp 0x18006e312
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], r13d
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 0x18006e337
mov r14, qword [rsp + 0x50]
lea rax, [0x1801564c0]
mov r13, qword [rsp + 0x58]
mov dword [rax + 8], edx
jmp 0x18006e354
mov rax, qword [rbx + 0x88]
lea rcx, [rdi + rdi*2]
mov r14, qword [rsp + 0x50]
mov r13, qword [rsp + 0x58]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
mov rbp, qword [rsp + 0xa8]
mov rdx, r14
mov rcx, r13
call fcn.180012ea0
mov rbx, qword [rsp + 0xb0]
mov r14, qword [rsp + 0x60]
mov rdi, qword [rsp + 0x70]
mov r12, qword [rsp + 0x68]
mov rdx, rbp
mov rcx, r13
add rsp, 0x78
pop r15
pop r13
pop rsi
pop rbp
jmp fcn.18007bf20