Function at 0x467010
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
push ebx
mov eax, edx
mov dword [ebp - 4], 0
mov ebx, ecx
mov dword [ebp - 0x1c], eax
push esi
push edi
mov edx, dword [eax + 8]
mov esi, dword [ebx]
mov dword [ebp - 0x20], ebx
mov dword [ebp - 0xc], esi
mov dword [ebp - 8], 0
test edx, edx
je 0x467062
mov esi, dword [esi + 0x10]
xor ecx, ecx
cmp dword [esi + 0xc], edx
lea eax, [esi + 0xc]
je 0x467058
nop word [eax + eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x467050
add ecx, ecx
mov eax, dword [esi + ecx*8]
mov esi, dword [ebp - 0xc]
jmp 0x467065
mov eax, dword [eax + 0xc]
mov edi, dword [ebp - 0x1c]
xor edx, edx
push eax
mov ecx, ebx
push dword [edi + 0x10]
call fcn.0046eb90
add esp, 8
mov dword [ebp - 0x14], eax
test eax, eax
je 0x4673bb
mov edx, eax
mov ecx, ebx
call fcn.00466160
test eax, eax
jne 0x4673bb
mov edx, dword [ebp - 0x14]
mov ecx, str.view
mov dword [ebp - 0x28], eax
cmp byte [edx + 0x2b], 2
cmovne ecx, eax
cmp byte [edx + 0x2b], 1
jne 0x4670b3
mov ecx, str.virtual_table
jmp 0x4670b7
test ecx, ecx
je 0x4670dd
push dword [edx]
push ecx
push str.rename_columns_of
push str.cannot__s__s___s_
push ebx
call fcn.0041c7c0
add esp, 0x14
mov edx, edi
mov ecx, esi
call fcn.00476d60
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx + 0x3c]
mov edx, 0xffff8000
mov dword [ebp - 0x18], edx
test ecx, ecx
je 0x46710b
mov eax, dword [esi + 0x10]
xor edx, edx
add eax, 0xc
mov dword [ebp - 0x18], edx
cmp dword [eax], ecx
je 0x46710b
nop dword [eax + eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x467100
mov dword [ebp - 0x18], edx
mov ecx, dword [ebp - 0x14]
add edx, edx
mov eax, dword [esi + 0x10]
push 0
push dword [ecx]
mov eax, dword [eax + edx*8]
mov ecx, ebx
push eax
mov edx, 0x1a
mov dword [ebp - 0x10], eax
call fcn.0046dcc0
add esp, 0xc
test eax, eax
jne 0x4673bb
mov eax, dword [ebp + 8]
test eax, eax
je 0x4670cd
mov edi, dword [eax]
mov esi, dword [eax + 4]
xor eax, eax
test edi, edi
je 0x467176
mov ecx, esi
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.004190c0
add esp, 8
mov dword [ebp - 4], eax
test eax, eax
je 0x467179
push esi
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 4]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x467179
mov dword [ebp - 4], eax
mov ecx, eax
call fcn.0041c850
cmp dword [ebp - 4], 0
je 0x4673bb
mov eax, dword [ebp - 0x14]
xor edi, edi
mov dword [ebp - 0x24], edi
movsx ecx, word [eax + 0x22]
mov dword [ebp - 0x28], ecx
test ecx, ecx
jle 0x4671c8
mov eax, dword [eax + 4]
mov ebx, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov edx, dword [eax]
mov esi, ebx
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4671f0
test ecx, ecx
jne 0x467202
mov ecx, dword [ebp - 0x28]
mov ebx, dword [ebp - 0x20]
mov dword [ebp - 0x24], edi
cmp edi, ecx
jne 0x467218
push dword [ebp + 8]
push str.no_such_column:___T_
push ebx
call fcn.0041c7c0
mov edx, dword [ebp - 0x1c]
add esp, 0xc
mov ecx, dword [ebp - 0xc]
call fcn.00476d60
mov edx, dword [ebp - 4]
jmp 0x4673cd
movzx eax, byte [eax + 0x55c130]
movzx ecx, byte [ecx + 0x55c130]
sub ecx, eax
jne 0x467205
inc edx
jmp 0x4671b0
mov eax, dword [ebp - 0x24]
inc edi
mov ecx, dword [ebp - 0x28]
add eax, 0x10
mov dword [ebp - 0x24], eax
cmp edi, ecx
jl 0x4671a6
jmp 0x4671c2
mov eax, dword [ebp - 0x10]
mov esi, dword [ebp - 0x20]
mov byte [ebx + 0x10], 1
xor ebx, ebx
cmp dword [ebp - 0x18], 1
push 0
push 0x5590e3
sete bl
push ebx
push eax
push eax
push 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
push esi
call fcn.0046e690
add esp, 0x1c
cmp dword [ebp - 0x18], 1
je 0x46727f
mov edi, dword [ebp - 0x10]
push 0
push 0x5590e3
push edi
push 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
push esi
call fcn.0046e690
add esp, 0x14
push edi
push edi
push 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__
push esi
call fcn.0046e690
push 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__
push esi
call fcn.0046e690
add esp, 0x18
jmp 0x467292
mov eax, dword [ebp - 0x10]
push eax
push eax
push 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__
push esi
call fcn.0046e690
add esp, 0x10
mov eax, dword [esi + 0x80]
mov ecx, esi
mov esi, dword [ebp + 0xc]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
test esi, esi
je 0x4673b6
mov eax, dword [esi]
mov edi, dword [esi + 4]
mov dword [ebp - 0x28], eax
test eax, eax
je 0x4673ac
xor eax, eax
mov ecx, edi
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [ebp - 0xc]
call fcn.004190c0
add esp, 8
mov dword [ebp - 8], eax
test eax, eax
je 0x4672ef
push edi
push dword [ebp - 0x28]
push eax
call sub.VCRUNTIME140.dll_memcpy
mov eax, dword [ebp - 8]
add esp, 0xc
mov byte [edi + eax], 0
mov edi, dword [ebp - 8]
mov ecx, edi
call fcn.0041c850
test edi, edi
je 0x4673bb
mov eax, dword [esi]
mov ecx, dword [ebp - 0x14]
movzx eax, byte [eax]
movzx esi, byte [eax + 0x55b5b8]
mov eax, dword [ecx]
and esi, 0x80
push eax
push ebx
push esi
push edi
push dword [ebp - 0x24]
mov edi, dword [ebp - 0x20]
push eax
mov eax, dword [ebp - 0x10]
push eax
push eax
push str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_column_sql__type__name___Q___Q___d___Q___d___d__WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X__AND__type___index_OR_tbl_name___Q_
push edi
call fcn.0046e690
mov eax, dword [ebp - 8]
push esi
push eax
push dword [ebp - 0x24]
mov eax, dword [ebp - 0x14]
push dword [eax]
mov eax, dword [ebp - 0x10]
push eax
push str.UPDATE_temp.sqlite_master_SET_sql__sqlite_rename_column_sql__type__name___Q___Q___d___Q___d__1__WHERE_type_IN__trigger__view_
push edi
call fcn.0046e690
mov edx, dword [ebp - 0x18]
add esp, 0x44
mov ecx, edi
push 1
call fcn.00466240
add esp, 4
mov byte [edi + 0x10], 1
push 1
push str.after_rename
push ebx
mov ebx, dword [ebp - 0x10]
push ebx
push ebx
push 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
push edi
call fcn.0046e690
add esp, 0x1c
cmp dword [ebp - 0x18], 1
je 0x4673bb
push 1
push str.after_rename
push ebx
push 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
push edi
call fcn.0046e690
mov edx, dword [ebp - 0x1c]
add esp, 0x14
mov ecx, dword [ebp - 0xc]
call fcn.00476d60
mov edx, dword [ebp - 4]
jmp 0x4673cd
xor edi, edi
mov dword [ebp - 8], edi
jmp 0x4672f2
xor eax, eax
mov dword [ebp - 8], eax
mov edx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
call fcn.00476d60
mov edx, dword [ebp - 4]
test edx, edx
je 0x4673d5
mov ecx, dword [ebp - 0xc]
call fcn.00418c30
mov eax, dword [ebp - 8]
test eax, eax
je 0x4673e6
mov ecx, dword [ebp - 0xc]
mov edx, eax
call fcn.00418c30
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret