Function at 0x140073a60
Capabilities:
Reference sql statements

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rdx
mov qword [rax + 8], rcx
push rbx
push rbp
push rdi
push r15
sub rsp, 0x88
mov rbx, qword [rcx]
mov rbp, r8
mov rdi, rdx
mov qword [rsp + 0x58], rbx
mov r15, rcx
cmp byte [rbx + 0x67], 0
jne 0x140073ca4
mov r9, qword [rdx + 8]
mov qword [rax + 0x18], rsi
xor esi, esi
mov qword [rax - 0x28], r12
test r9, r9
je 0x140073acd
mov rdx, qword [rbx + 0x20]
mov ecx, esi
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x140073ac0
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x140073ab5
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x140073ad1
mov r9, qword [rdx + 0x10]
mov r8, qword [rdi + 0x18]
xor edx, edx
mov rcx, r15
call fcn.140078e30
mov qword [rsp + 0x50], rax
mov r12, rax
test rax, rax
je 0x140073c94
mov rdx, rax
mov rcx, r15
call fcn.14006e680
test eax, eax
jne 0x140073c94
cmp byte [r12 + 0x3f], 2
lea r9, str.view
cmovne r9, rsi
cmp byte [r12 + 0x3f], 1
jne 0x140073b25
lea r9, str.virtual_table
jmp 0x140073b2a
test r9, r9
je 0x140073b4e
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.14001db80
jmp 0x140073c94
mov rdx, rbp
mov qword [rsp + 0x78], r13
mov rcx, rbx
call fcn.140079b20
mov qword [rsp + 0x60], rax
mov r13, rax
test rax, rax
je 0x140073c8f
movzx ecx, byte [rax]
lea r8, [0x1400f73f0]
xor bl, bl
mov qword [rsp + 0x70], r14
mov rdx, rax
test cl, cl
je 0x140073ba2
nop word [rax + rax]
movzx eax, cl
lea rdx, [rdx + 1]
movzx ecx, byte [rdx]
add bl, byte [rax + r8]
test cl, cl
jne 0x140073b90
mov r14, qword [r12 + 8]
mov r10d, esi
movsx esi, word [r12 + 0x36]
mov r11, r14
test esi, esi
jle 0x140073c60
nop dword [rax + rax]
cmp byte [r11 + 0xe], bl
jne 0x140073c50
mov r8, qword [r11]
mov r9, r13
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x140073c2e
test ecx, ecx
jne 0x140073c4b
test r10d, r10d
js 0x140073c60
movsxd rax, r10d
lea rcx, [rax + rax*2]
movzx eax, word [r14 + rcx*8 + 0x12]
lea rbp, [rcx*8]
test al, 9
je 0x140073cbb
test al, 1
lea r8, str.UNIQUE
lea rax, str.PRIMARY_KEY
mov r9, r13
cmovne r8, rax
lea rdx, str.cannot_drop__s_column:___s_
mov rcx, r15
call fcn.14001db80
jmp 0x140073c72
lea rdx, [0x1400f73f0]
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x1400f73f0]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
jne 0x140073c50
inc r8
jmp 0x140073bd3
add r11, 0x18
inc r10d
cmp r10d, esi
jl 0x140073bc0
mov r8, rbp
lea rdx, [0x140119328]
mov rcx, r15
call fcn.14001db80
mov rbx, qword [rsp + 0x58]
mov rdx, r13
mov rcx, rbx
call fcn.140019ca0
mov rdi, qword [rsp + 0xb8]
mov r14, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov rsi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x80]
mov rdx, rdi
mov rcx, rbx
add rsp, 0x88
pop r15
pop rdi
pop rbp
pop rbx
jmp fcn.140081fe0
cmp esi, 1
jg 0x140073ccc
mov r8, r13
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
jmp 0x140073c6a
mov rcx, qword [r12 + 0x60]
mov edi, 0xffff8000
mov rdx, qword [rsp + 0x58]
mov r14d, r10d
mov dword [rsp + 0x40], r10d
test rcx, rcx
je 0x140073d0c
mov rax, qword [rdx + 0x20]
xor edi, edi
add rax, 0x18
mov dword [rsp + 0x40], r10d
cmp qword [rax], rcx
je 0x140073d0c
mov dword [rsp + 0x40], r10d
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140073d01
mov rax, qword [rdx + 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, r15
mov r8, rbx
call fcn.140077ea0
test eax, eax
jne 0x140073c72
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, [0x14011cc58]
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.140078860
mov r8, rbx
mov rcx, r15
cmp edi, 1
je 0x140073dbf
lea r9, [0x14011cc58]
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.140078860
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.140078860
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.140078860
jmp 0x140073dce
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.140078860
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], r14d
mov rcx, r15
call fcn.140078860
mov r8d, 2
mov edx, edi
mov rcx, r15
call fcn.14006e770
mov dword [rsp + 0x30], 1
lea r14, str.after_drop_column
mov qword [rsp + 0x28], r14
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.140078860
cmp edi, 1
je 0x140073e55
mov r9, r14
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.140078860
cmp dword [r15 + 0x30], 0
jne 0x140073c72
mov rax, qword [r12 + 8]
test byte [rax + rbp + 0x12], 0x20
jne 0x140073c72
mov rbx, qword [r15 + 0x10]
xor esi, esi
xor ebp, ebp
test rbx, rbx
jne 0x140073e9f
cmp qword [r15 + 0xb0], rsi
jne 0x140073e94
mov rax, qword [r15]
test byte [rax + 0x60], 8
jne 0x140073e94
mov byte [r15 + 0x23], 1
mov rcx, r15
call fcn.140047b50
mov rbx, rax
mov r13d, dword [r15 + 0x34]
mov r9, r12
mov r8d, edi
mov dword [rsp + 0x20], 0x71
mov edx, r13d
lea ecx, [r13 + 1]
mov dword [r15 + 0x34], ecx
mov rcx, r15
call fcn.1400904f0
movsxd r8, dword [rbx + 0x90]
lea r12, [rbx + 0x88]
mov dword [rsp + 0x44], r8d
cmp dword [rbx + 0x94], r8d
jg 0x140073eff
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov rcx, rbx
lea edx, [r9 + 0x24]
call fcn.140047e40
mov dword [rsp + 0x44], eax
xor r8d, r8d
jmp 0x140073f2a
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r8d, r8d
mov dword [rbx + 0x90], eax
mov rax, qword [r12]
mov dword [rax + rcx*8], 0x24
mov dword [rax + rcx*8 + 4], r13d
mov qword [rax + rcx*8 + 8], r8
mov qword [rax + rcx*8 + 0x10], r8
mov r11d, dword [r15 + 0x38]
mov rdx, qword [rsp + 0x50]
inc r11d
mov dword [r15 + 0x38], r11d
mov dword [rsp + 0xc8], r11d
test byte [rdx + 0x30], 0x80
jne 0x140073fc9
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140073f90
mov dword [rsp + 0x20], r8d
mov r9d, r11d
mov r8d, r13d
mov edx, 0x87
mov rcx, rbx
call fcn.140047e40
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
mov r11d, dword [rsp + 0xc8]
movsx eax, word [rdx + 0x36]
add eax, dword [r15 + 0x38]
jmp 0x140074090
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
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], r8d
mov qword [rax + rcx*8 + 0x10], r8
movsx eax, word [rdx + 0x36]
add eax, dword [r15 + 0x38]
jmp 0x140074090
mov rsi, qword [rdx + 0x10]
test rsi, rsi
je 0x140073fe4
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x140073fe4
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x140073fd2
movzx eax, word [rsi + 0x60]
mov edi, r8d
add eax, r11d
mov dword [r15 + 0x38], eax
movzx ecx, word [rsi + 0x5e]
cmp r8w, cx
jae 0x14007408d
lea r14d, [r11 + 1]
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x14007403f
lea eax, [r14 + rdi]
mov r9d, edi
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x5e
mov rcx, rbx
call fcn.140047e40
xor r8d, r8d
jmp 0x14007406f
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
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], r8
mov dword [rdx + 0xc], eax
movzx eax, word [rsi + 0x5e]
inc edi
cmp edi, eax
jl 0x140074010
mov rdx, qword [rsp + 0x50]
movzx ecx, ax
mov eax, dword [r15 + 0x38]
mov r11d, dword [rsp + 0xc8]
movzx ebp, cx
lea r14d, [rax + 1]
mov edi, r8d
mov dword [r15 + 0x38], r14d
mov dword [rsp + 0x48], r14d
cmp r8w, word [rdx + 0x36]
jge 0x1400741e3
mov r14, qword [rsp + 0x50]
mov r9d, 0xffffffff
mov r15d, dword [rsp + 0x40]
nop dword [rax + rax]
cmp edi, r15d
je 0x1400741c1
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
jne 0x1400741c1
test rsi, rsi
je 0x140074138
movzx edx, word [rsi + 0x60]
mov ecx, r8d
test edx, edx
je 0x140074103
mov r8, qword [rsi + 8]
movsxd rax, ecx
cmp di, word [r8 + rax*2]
je 0x140074107
inc ecx
cmp ecx, edx
jl 0x1400740f3
movzx ecx, r9w
movzx eax, word [rsi + 0x5e]
movsx r10d, cx
cmp r10d, eax
jl 0x1400741c1
movzx edx, r15w
mov rcx, rsi
call fcn.140079fe0
movsx ecx, ax
xor r8d, r8d
cmp r10d, ecx
mov eax, r8d
setg al
sub r10d, eax
jmp 0x14007413b
mov r10d, ebp
movsx eax, word [r14 + 0x34]
lea edx, [r10 + 1]
add edx, r11d
cmp edi, eax
jne 0x14007419c
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140074173
mov dword [rsp + 0x20], r8d
mov r9d, edx
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x4b]
call fcn.140047e40
jmp 0x1400741b1
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
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 0x1400741b9
mov dword [rsp + 0x20], edx
mov r9d, edi
mov rdx, r14
mov r8d, r13d
mov rcx, rbx
call fcn.140068f00
mov r11d, dword [rsp + 0xc8]
inc ebp
mov r9d, 0xffffffff
movsx eax, word [r14 + 0x36]
inc edi
mov r8d, 0
cmp edi, eax
jl 0x1400740c0
mov r15, qword [rsp + 0xb0]
mov r14d, dword [rsp + 0x48]
lea edi, [r11 + 1]
test ebp, ebp
jne 0x140074245
inc dword [r15 + 0x38]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140074219
mov dword [rsp + 0x20], r8d
lea edx, [rbp + 0x4b]
xor r8d, r8d
mov r9d, edi
mov rcx, rbx
call fcn.140047e40
xor r8d, r8d
jmp 0x140074240
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
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 0x140074271
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov r8d, edi
mov edx, 0x61
mov rcx, rbx
call fcn.140047e40
xor r8d, r8d
jmp 0x14007429b
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
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], r14d
mov qword [rax + rcx*8 + 0x10], r8
movsxd rcx, dword [rbx + 0x90]
test rsi, rsi
je 0x1400742f5
movzx edx, word [rsi + 0x5e]
cmp dword [rbx + 0x94], ecx
jg 0x1400742d3
mov dword [rsp + 0x28], edx
mov r9d, r14d
mov edx, 0x8a
mov dword [rsp + 0x20], edi
mov r8d, r13d
mov rcx, rbx
call fcn.140047ea0
xor r8d, r8d
jmp 0x14007434b
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
mov dword [rax + rcx*8], 0xfd8a
mov dword [rax + rcx*8 + 0xc], edi
mov dword [rax + rcx*8 + 0x10], edx
jmp 0x140074341
mov edx, dword [rsp + 0xc8]
cmp dword [rbx + 0x94], ecx
jg 0x140074320
mov dword [rsp + 0x20], edx
mov r9d, r14d
mov edx, 0x80
mov r8d, r13d
mov rcx, rbx
call fcn.140047e40
xor r8d, r8d
jmp 0x14007434b
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
mov dword [rax + rcx*8], 0x80
mov dword [rax + rcx*8 + 0xc], edx
mov qword [rax + rcx*8 + 0x10], r8
mov dword [rax + rcx*8 + 8], r14d
mov dword [rax + rcx*8 + 4], r13d
movsxd rax, dword [rbx + 0x90]
test eax, eax
jle 0x140074368
lea rcx, [rax + rax*2]
mov edx, 2
mov rax, qword [r12]
mov word [rax + rcx*8 - 0x16], dx
movsxd rdi, dword [rsp + 0x44]
movsxd rcx, dword [rbx + 0x90]
lea edx, [rdi + 1]
cmp dword [rbx + 0x94], ecx
jg 0x140074399
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r13d
mov edx, 0x27
mov rcx, rbx
call fcn.140047e40
jmp 0x1400743c4
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [r12]
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], r8d
mov qword [rax + rcx*8 + 0x10], r8
mov rax, qword [rbx]
mov edx, dword [rbx + 0x90]
cmp byte [rax + 0x67], 0
je 0x1400743e7
mov r13, qword [rsp + 0x60]
lea rax, [0x14011c8c8]
mov dword [rax + 8], edx
jmp 0x140073c72
mov rax, qword [r12]
lea rcx, [rdi + rdi*2]
mov r13, qword [rsp + 0x60]
mov dword [rax + rcx*8 + 8], edx
lea rax, [rax + rcx*8]
jmp 0x140073c72