Function at 0x140060960
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 0x140060ba4
mov r9, qword [rdx + 8]
mov qword [rax + 0x18], rsi
xor esi, esi
mov qword [rax - 0x28], r12
test r9, r9
je 0x1400609cd
mov rdx, qword [rbx + 0x20]
mov ecx, esi
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x1400609c0
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x1400609b5
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x1400609d1
mov r9, qword [rdx + 0x10]
mov r8, qword [rdi + 0x18]
xor edx, edx
mov rcx, r15
call fcn.140065f30
mov qword [rsp + 0x50], rax
mov r12, rax
test rax, rax
je 0x140060b94
mov rdx, rax
mov rcx, r15
call fcn.14005b5e0
test eax, eax
jne 0x140060b94
cmp byte [r12 + 0x3f], 2
lea r9, str.view
cmovne r9, rsi
cmp byte [r12 + 0x3f], 1
jne 0x140060a25
lea r9, str.virtual_table
jmp 0x140060a2a
test r9, r9
je 0x140060a4e
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.14000c020
jmp 0x140060b94
mov rdx, rbp
mov qword [rsp + 0x78], r13
mov rcx, rbx
call fcn.140066c20
mov qword [rsp + 0x60], rax
mov r13, rax
test rax, rax
je 0x140060b8f
movzx ecx, byte [rax]
lea r8, [0x140124650]
xor bl, bl
mov qword [rsp + 0x70], r14
mov rdx, rax
test cl, cl
je 0x140060aa2
nop word [rax + rax]
movzx eax, cl
lea rdx, [rdx + 1]
movzx ecx, byte [rdx]
add bl, byte [rax + r8]
test cl, cl
jne 0x140060a90
mov r14, qword [r12 + 8]
mov r10d, esi
movsx esi, word [r12 + 0x36]
mov r11, r14
test esi, esi
jle 0x140060b60
nop dword [rax + rax]
cmp byte [r11 + 0xe], bl
jne 0x140060b50
mov r8, qword [r11]
mov r9, r13
sub r9, r8
movzx ecx, byte [r8]
movzx eax, byte [r9 + r8]
cmp ecx, eax
jne 0x140060b2e
test ecx, ecx
jne 0x140060b4b
test r10d, r10d
js 0x140060b60
movsxd rax, r10d
lea rcx, [rax + rax*2]
movzx eax, word [r14 + rcx*8 + 0x12]
lea rbp, [rcx*8]
test al, 9
je 0x140060bbb
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.14000c020
jmp 0x140060b72
lea rdx, [0x140124650]
movzx edx, byte [rax + rdx]
mov rax, rcx
lea rcx, [0x140124650]
movzx ecx, byte [rax + rcx]
cmp ecx, edx
jne 0x140060b50
inc r8
jmp 0x140060ad3
add r11, 0x18
inc r10d
cmp r10d, esi
jl 0x140060ac0
mov r8, rbp
lea rdx, str.no_such_column:___T_
mov rcx, r15
call fcn.14000c020
mov rbx, qword [rsp + 0x58]
mov rdx, r13
mov rcx, rbx
call fcn.140008200
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.14006eeb0
cmp esi, 1
jg 0x140060bcc
mov r8, r13
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
jmp 0x140060b6a
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 0x140060c0c
mov rax, qword [rdx + 0x20]
xor edi, edi
add rax, 0x18
mov dword [rsp + 0x40], r10d
cmp qword [rax], rcx
je 0x140060c0c
mov dword [rsp + 0x40], r10d
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x140060c01
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.140064fb0
test eax, eax
jne 0x140060b72
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, [0x140121ec0]
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.140065970
mov r8, rbx
mov rcx, r15
cmp edi, 1
je 0x140060cbf
lea r9, [0x140121ec0]
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.140065970
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.140065970
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.140065970
jmp 0x140060cce
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.140065970
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.140065970
mov r8d, 2
mov edx, edi
mov rcx, r15
call fcn.14005b6d0
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.140065970
cmp edi, 1
je 0x140060d55
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.140065970
cmp dword [r15 + 0x30], 0
jne 0x140060b72
mov rax, qword [r12 + 8]
test byte [rax + rbp + 0x12], 0x20
jne 0x140060b72
mov rbx, qword [r15 + 0x10]
xor esi, esi
xor ebp, ebp
test rbx, rbx
jne 0x140060d9f
cmp qword [r15 + 0xa8], rsi
jne 0x140060d94
mov rax, qword [r15]
test byte [rax + 0x60], 8
jne 0x140060d94
mov byte [r15 + 0x23], 1
mov rcx, r15
call fcn.1400357f0
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.14007ccc0
movsxd r8, dword [rbx + 0x90]
lea r12, [rbx + 0x88]
mov dword [rsp + 0x44], r8d
cmp dword [rbx + 0x94], r8d
jg 0x140060dff
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, r13d
mov rcx, rbx
lea edx, [r9 + 0x24]
call fcn.140035ae0
mov dword [rsp + 0x44], eax
xor r8d, r8d
jmp 0x140060e2a
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 0x140060ec9
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140060e90
mov dword [rsp + 0x20], r8d
mov r9d, r11d
mov r8d, r13d
mov edx, 0x87
mov rcx, rbx
call fcn.140035ae0
mov rdx, qword [rsp + 0x50]
xor r8d, r8d
mov r11d, dword [rsp + 0xc8]
movsx eax, word [rdx + 0x36]
add eax, dword [r15 + 0x38]
jmp 0x140060f90
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 0x140060f90
mov rsi, qword [rdx + 0x10]
test rsi, rsi
je 0x140060ee4
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x140060ee4
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x140060ed2
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 0x140060f8d
lea r14d, [r11 + 1]
nop dword [rax]
nop dword [rax + rax]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140060f3f
lea eax, [r14 + rdi]
mov r9d, edi
mov r8d, r13d
mov dword [rsp + 0x20], eax
mov edx, 0x5e
mov rcx, rbx
call fcn.140035ae0
xor r8d, r8d
jmp 0x140060f6f
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 0x140060f10
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 0x1400610e3
mov r14, qword [rsp + 0x50]
mov r9d, 0xffffffff
mov r15d, dword [rsp + 0x40]
nop dword [rax + rax]
cmp edi, r15d
je 0x1400610c1
movsxd rax, edi
lea rcx, [rax + rax*2]
mov rax, qword [r14 + 8]
test byte [rax + rcx*8 + 0x12], 0x20
jne 0x1400610c1
test rsi, rsi
je 0x140061038
movzx edx, word [rsi + 0x60]
mov ecx, r8d
test edx, edx
je 0x140061003
mov r8, qword [rsi + 8]
movsxd rax, ecx
cmp di, word [r8 + rax*2]
je 0x140061007
inc ecx
cmp ecx, edx
jl 0x140060ff3
movzx ecx, r9w
movzx eax, word [rsi + 0x5e]
movsx r10d, cx
cmp r10d, eax
jl 0x1400610c1
movzx edx, r15w
mov rcx, rsi
call fcn.1400670f0
movsx ecx, ax
xor r8d, r8d
cmp r10d, ecx
mov eax, r8d
setg al
sub r10d, eax
jmp 0x14006103b
mov r10d, ebp
movsx eax, word [r14 + 0x34]
lea edx, [r10 + 1]
add edx, r11d
cmp edi, eax
jne 0x14006109c
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140061073
mov dword [rsp + 0x20], r8d
mov r9d, edx
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x4b]
call fcn.140035ae0
jmp 0x1400610b1
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 0x1400610b9
mov dword [rsp + 0x20], edx
mov r9d, edi
mov rdx, r14
mov r8d, r13d
mov rcx, rbx
call fcn.1400560d0
mov r11d, dword [rsp + 0xc8]
inc ebp
mov r9d, 0xffffffff
movsx eax, word [r14 + 0x36]
inc edi
mov r8d, 0
cmp edi, eax
jl 0x140060fc0
mov r15, qword [rsp + 0xb0]
mov r14d, dword [rsp + 0x48]
lea edi, [r11 + 1]
test ebp, ebp
jne 0x140061145
inc dword [r15 + 0x38]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x140061119
mov dword [rsp + 0x20], r8d
lea edx, [rbp + 0x4b]
xor r8d, r8d
mov r9d, edi
mov rcx, rbx
call fcn.140035ae0
xor r8d, r8d
jmp 0x140061140
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 0x140061171
mov r9d, ebp
mov dword [rsp + 0x20], r14d
mov r8d, edi
mov edx, 0x61
mov rcx, rbx
call fcn.140035ae0
xor r8d, r8d
jmp 0x14006119b
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 0x1400611f5
movzx edx, word [rsi + 0x5e]
cmp dword [rbx + 0x94], ecx
jg 0x1400611d3
mov dword [rsp + 0x28], edx
mov r9d, r14d
mov edx, 0x8a
mov dword [rsp + 0x20], edi
mov r8d, r13d
mov rcx, rbx
call fcn.140035b40
xor r8d, r8d
jmp 0x14006124b
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 0x140061241
mov edx, dword [rsp + 0xc8]
cmp dword [rbx + 0x94], ecx
jg 0x140061220
mov dword [rsp + 0x20], edx
mov r9d, r14d
mov edx, 0x80
mov r8d, r13d
mov rcx, rbx
call fcn.140035ae0
xor r8d, r8d
jmp 0x14006124b
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 0x140061268
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 0x140061299
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, r13d
mov edx, 0x27
mov rcx, rbx
call fcn.140035ae0
jmp 0x1400612c4
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 0x1400612e7
mov r13, qword [rsp + 0x60]
lea rax, [0x14014ae80]
mov dword [rax + 8], edx
jmp 0x140060b72
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 0x140060b72