Function at 0x1800afe40
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, 0x88
mov r15, qword [rcx]
mov rbx, r8
mov rbp, rdx
mov qword [rsp + 0x60], r15
mov r14, rcx
cmp byte [r15 + 0x67], 0
jne 0x1800b0841
mov r9, qword [rdx + 8]
mov qword [rsp + 0x78], r12
mov qword [rsp + 0x70], r13
xor r13d, r13d
test r9, r9
je 0x1800afeb8
mov rdx, qword [r15 + 0x20]
mov ecx, r13d
cmp qword [rdx + 0x18], r9
lea rax, [rdx + 0x18]
je 0x1800afeab
nop word [rax + rax]
inc ecx
lea rax, [rax + 0x20]
cmp qword [rax], r9
jne 0x1800afea0
movsxd rax, ecx
shl rax, 5
mov r9, qword [rax + rdx]
jmp 0x1800afebc
mov r9, qword [rdx + 0x10]
mov r8, qword [rbp + 0x18]
xor edx, edx
mov rcx, r14
call fcn.1800b5290
mov r12, rax
test rax, rax
je 0x1800b0837
mov rdx, rax
mov rcx, r14
call fcn.1800ab120
test eax, eax
jne 0x1800b0837
cmp byte [r12 + 0x3f], 2
lea r9, str.view
cmovne r9, r13
cmp byte [r12 + 0x3f], 1
jne 0x1800aff0b
lea r9, str.virtual_table
jmp 0x1800aff10
test r9, r9
je 0x1800aff34
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.18005ee20
jmp 0x1800b0837
test rbx, rbx
je 0x1800b0837
mov qword [rsp + 0xc0], rsi
mov rsi, qword [rbx]
mov qword [rsp + 0x80], rdi
mov edi, dword [rbx + 8]
test rsi, rsi
je 0x1800aff86
lea rdx, [rdi + 1]
mov rcx, r15
call fcn.18005b220
mov qword [rsp + 0x50], rax
mov r13, rax
test rax, rax
je 0x1800aff8b
mov r8d, edi
mov rdx, rsi
mov rcx, rax
call sub.VCRUNTIME140.dll_memcpy
mov byte [rdi + r13], 0
jmp 0x1800aff8b
mov qword [rsp + 0x50], r13
mov rcx, r13
call fcn.18005ef80
test r13, r13
je 0x1800b0827
mov rdx, r13
mov rcx, r12
call fcn.1800df290
mov dword [rsp + 0xc8], eax
test eax, eax
jns 0x1800affc9
mov r8, rbx
lea rdx, str.no_such_column:___T_
mov rcx, r14
call fcn.18005ee20
jmp 0x1800b07c5
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 0x1800b0012
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.18005ee20
jmp 0x1800b07bd
cmp word [r12 + 0x36], 1
jg 0x1800b0032
mov r8, r13
lea rdx, str.cannot_drop_column___s_:_no_other_columns_exist
mov rcx, r14
call fcn.18005ee20
jmp 0x1800b07bd
mov rcx, qword [r12 + 0x60]
mov edi, 0xffff8000
test rcx, rcx
je 0x1800b005b
mov rax, qword [r15 + 0x20]
xor edi, edi
add rax, 0x18
cmp qword [rax], rcx
je 0x1800b005b
inc edi
lea rax, [rax + 0x20]
cmp qword [rax], rcx
jne 0x1800b0050
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.1800b42d0
test eax, eax
jne 0x1800b07bd
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, [0x18013df0b]
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.1800b4c80
mov r8, rbx
mov rcx, r14
cmp edi, 1
je 0x1800b010e
lea r9, [0x18013df0b]
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.1800b4c80
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.1800b4c80
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.1800b4c80
jmp 0x1800b011d
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.1800b4c80
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 + 0xc8]
mov r8, rbx
mov rcx, r14
mov dword [rsp + 0x20], eax
call fcn.1800b4c80
cmp qword [r14 + 0x10], 0
je 0x1800b0186
mov edx, edi
mov rcx, r14
call fcn.1800b8d20
mov rcx, qword [r14 + 0x10]
mov r9d, 2
xor r8d, r8d
mov edx, edi
call fcn.1800862b0
cmp edi, 1
je 0x1800b0186
mov rcx, qword [r14 + 0x10]
mov r9d, 2
xor r8d, r8d
lea edx, [r9 - 1]
call fcn.1800862b0
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.1800b4c80
cmp edi, 1
je 0x1800b01de
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.1800b4c80
cmp dword [r14 + 0x30], 0
jne 0x1800b07bd
mov rax, qword [r12 + 8]
test byte [rax + rbp + 0x12], 0x20
jne 0x1800b07bd
mov rbx, qword [r14 + 0x10]
xor esi, esi
xor r15d, r15d
test rbx, rbx
jne 0x1800b0229
cmp qword [r14 + 0xb0], rsi
jne 0x1800b021e
mov rax, qword [r14]
test byte [rax + 0x60], 8
jne 0x1800b021e
mov byte [r14 + 0x23], 1
mov rcx, r14
call fcn.180085670
mov rbx, rax
mov ebp, dword [r14 + 0x34]
mov r9, r12
mov r8d, edi
mov dword [rsp + 0x44], ebp
mov edx, ebp
mov dword [rsp + 0x20], 0x71
lea ecx, [rbp + 1]
mov dword [r14 + 0x34], ecx
mov rcx, r14
call fcn.1800cc950
movsxd r8, dword [rbx + 0x90]
mov dword [rsp + 0x4c], r8d
cmp dword [rbx + 0x94], r8d
jg 0x1800b0284
xor r9d, r9d
mov dword [rsp + 0x20], esi
mov r8d, ebp
mov rcx, rbx
lea edx, [r9 + 0x24]
call fcn.1800859d0
mov dword [rsp + 0x4c], eax
xor r8d, r8d
jmp 0x1800b02b1
lea rcx, [r8 + r8*2]
lea eax, [r8 + 1]
xor r8d, r8d
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], r8
mov qword [rax + rcx*8 + 0x10], r8
inc dword [r14 + 0x38]
test byte [r12 + 0x30], 0x80
mov edx, dword [r14 + 0x38]
mov dword [rsp + 0x48], edx
jne 0x1800b033a
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800b02fe
mov dword [rsp + 0x20], r8d
mov r9d, edx
mov r8d, ebp
mov edx, 0x87
mov rcx, rbx
call fcn.1800859d0
movsx eax, word [r12 + 0x36]
xor r8d, r8d
add eax, dword [r14 + 0x38]
jmp 0x1800b03f6
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], edx
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 0x1800b03f6
mov rsi, qword [r12 + 0x10]
test rsi, rsi
je 0x1800b0356
mov eax, dword [rsi + 0x64]
and al, 3
cmp al, 2
je 0x1800b0356
mov rsi, qword [rsi + 0x28]
test rsi, rsi
jne 0x1800b0344
movzx eax, word [rsi + 0x60]
mov edi, r8d
add eax, edx
mov dword [r14 + 0x38], eax
movzx ecx, word [rsi + 0x5e]
cmp r8w, cx
jae 0x1800b03f2
lea r15d, [rdx + 1]
nop word [rax + rax]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800b03af
lea eax, [r15 + rdi]
mov r9d, edi
mov r8d, ebp
mov dword [rsp + 0x20], eax
mov edx, 0x5e
mov rcx, rbx
call fcn.1800859d0
xor r8d, r8d
jmp 0x1800b03e1
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, [r15 + rdi]
mov qword [rdx + 0x10], r8
mov dword [rdx + 0xc], eax
movzx eax, word [rsi + 0x5e]
inc edi
cmp edi, eax
jl 0x1800b0380
movzx ecx, ax
mov eax, dword [r14 + 0x38]
movzx r15d, cx
inc eax
mov edi, r8d
mov dword [r14 + 0x38], eax
mov dword [rsp + 0x40], eax
cmp r8w, word [r12 + 0x36]
jge 0x1800b0589
mov r13d, dword [rsp + 0x48]
mov r10d, 0xffffffff
mov r9d, dword [rsp + 0xc8]
mov r14d, ebp
cmp edi, r9d
je 0x1800b0562
mov r11, qword [r12 + 8]
movsxd rax, edi
lea rcx, [rax + rax*2]
lea rcx, [rcx*8]
add r11, rcx
mov qword [rsp + 0x58], rcx
test byte [r11 + 0x12], 0x20
jne 0x1800b0562
test rsi, rsi
je 0x1800b04b5
movzx edx, word [rsi + 0x60]
mov ecx, r8d
test edx, edx
je 0x1800b0480
mov r8, qword [rsi + 8]
nop dword [rax]
movsxd rax, ecx
cmp di, word [r8 + rax*2]
je 0x1800b0484
inc ecx
cmp ecx, edx
jl 0x1800b0470
movzx ecx, r10w
movzx eax, word [rsi + 0x5e]
movsx r10d, cx
cmp r10d, eax
jl 0x1800b055c
movzx edx, r9w
mov rcx, rsi
call fcn.1800b69b0
movsx ecx, ax
xor r8d, r8d
cmp r10d, ecx
mov eax, r8d
setg al
sub r10d, eax
jmp 0x1800b04b8
mov r10d, r15d
movsx eax, word [r12 + 0x34]
lea edx, [r13 + 1]
add edx, r10d
cmp edi, eax
jne 0x1800b051d
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800b04f1
mov dword [rsp + 0x20], r8d
mov r9d, edx
xor r8d, r8d
mov rcx, rbx
lea edx, [r8 + 0x4b]
call fcn.1800859d0
jmp 0x1800b0551
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 0x1800b0551
movzx ebp, byte [r11 + 0xc]
cmp bpl, 0x45
jne 0x1800b052d
mov byte [r11 + 0xc], 0x43
mov dword [rsp + 0x20], edx
mov r9d, edi
mov rdx, r12
mov r8d, r14d
mov rcx, rbx
call fcn.1800a5c80
mov rax, qword [r12 + 8]
mov rcx, qword [rsp + 0x58]
mov byte [rax + rcx + 0xc], bpl
mov r9d, dword [rsp + 0xc8]
inc r15d
mov r10d, 0xffffffff
movsx eax, word [r12 + 0x36]
inc edi
mov r8d, 0
cmp edi, eax
jl 0x1800b0425
mov r14, qword [rsp + 0xb0]
mov r13, qword [rsp + 0x50]
mov ebp, dword [rsp + 0x44]
mov r12d, dword [rsp + 0x48]
lea edi, [r12 + 1]
test r15d, r15d
jne 0x1800b05f4
inc dword [r14 + 0x38]
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800b05c4
mov dword [rsp + 0x20], r8d
lea edx, [r15 + 0x4b]
xor r8d, r8d
mov r9d, edi
mov rcx, rbx
call fcn.1800859d0
jmp 0x1800b05ee
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 r15d, 1
movsxd rcx, dword [rbx + 0x90]
cmp dword [rbx + 0x94], ecx
jg 0x1800b0628
mov eax, dword [rsp + 0x40]
mov r9d, r15d
mov r8d, edi
mov dword [rsp + 0x20], eax
mov edx, 0x61
mov rcx, rbx
call fcn.1800859d0
mov r8d, dword [rsp + 0x40]
xor r9d, r9d
jmp 0x1800b065e
mov r8d, dword [rsp + 0x40]
lea eax, [rcx + 1]
mov dword [rbx + 0x90], eax
lea rcx, [rcx + rcx*2]
mov rax, qword [rbx + 0x88]
xor r9d, r9d
mov dword [rax + rcx*8], 0x61
mov dword [rax + rcx*8 + 4], edi
mov dword [rax + rcx*8 + 8], r15d
mov dword [rax + rcx*8 + 0xc], r8d
mov qword [rax + rcx*8 + 0x10], r9
movsxd rcx, dword [rbx + 0x90]
test rsi, rsi
je 0x1800b06bb
movzx edx, word [rsi + 0x5e]
cmp dword [rbx + 0x94], ecx
jg 0x1800b0696
mov dword [rsp + 0x28], edx
mov r9d, r8d
mov r8d, ebp
mov dword [rsp + 0x20], edi
mov edx, 0x8a
mov rcx, rbx
call fcn.180085a30
xor r9d, r9d
jmp 0x1800b070e
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 0x1800b0705
cmp dword [rbx + 0x94], ecx
jg 0x1800b06e0
mov r9d, r8d
mov dword [rsp + 0x20], r12d
mov r8d, ebp
mov edx, 0x80
mov rcx, rbx
call fcn.1800859d0
xor r9d, r9d
jmp 0x1800b070e
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], r12d
mov qword [rax + rcx*8 + 0x10], r9
mov dword [rax + rcx*8 + 8], r8d
mov dword [rax + rcx*8 + 4], ebp
movsxd rcx, dword [rbx + 0x90]
test ecx, ecx
jle 0x1800b0734
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 + 0x4c]
lea edx, [rdi + 1]
cmp dword [rbx + 0x94], ecx
jg 0x1800b075e
mov dword [rsp + 0x20], r9d
mov r8d, ebp
mov r9d, edx
mov rcx, rbx
mov edx, 0x27
call fcn.1800859d0
jmp 0x1800b078e
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], ebp
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 0x1800b07a6
lea rax, [0x18016bc10]
jmp 0x1800b07b5
mov rax, qword [rbx + 0x88]
lea rcx, [rdi + rdi*2]
lea rax, [rax + rcx*8]
mov r15, qword [rsp + 0x60]
mov dword [rax + 8], edx
mov rbp, qword [rsp + 0xb8]
cmp r13, qword [r15 + 0x1f0]
jae 0x1800b0808
cmp r13, qword [r15 + 0x1e0]
jb 0x1800b07eb
mov rax, qword [r15 + 0x1d8]
mov qword [r13], rax
mov qword [r15 + 0x1d8], r13
jmp 0x1800b0827
cmp r13, qword [r15 + 0x1e8]
jb 0x1800b0808
mov rax, qword [r15 + 0x1c8]
mov qword [r13], rax
mov qword [r15 + 0x1c8], r13
jmp 0x1800b0827
cmp qword [r15 + 0x308], 0
je 0x1800b081f
mov rdx, r13
mov rcx, r15
call fcn.18005ae00
jmp 0x1800b0827
mov rcx, r13
call fcn.18005ad90
mov rdi, qword [rsp + 0x80]
mov rsi, qword [rsp + 0xc0]
mov r12, qword [rsp + 0x78]
mov r13, qword [rsp + 0x70]
mov rdx, rbp
mov rcx, r15
add rsp, 0x88
pop r15
pop r14
pop rbp
pop rbx
jmp fcn.1800bea80