Function at 0x4b2cf0
Capabilities:
Reference sql statements

Disassembly:
sub esp, 0x2c
push ebx
push ebp
mov eax, edx
mov dword [esp + 8], 0
mov ebp, ecx
mov dword [esp + 0x18], eax
push esi
push edi
mov edx, dword [eax + 8]
mov ebx, dword [ebp]
mov dword [esp + 0x34], ebp
mov dword [esp + 0x18], ebx
mov dword [esp + 0x14], 0
test edx, edx
je 0x4b2d3f
mov esi, dword [ebx + 0x10]
xor ecx, ecx
cmp dword [esi + 0xc], edx
lea eax, [esi + 0xc]
je 0x4b2d38
nop
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x4b2d30
add ecx, ecx
mov eax, dword [esi + ecx*8]
jmp 0x4b2d42
mov eax, dword [eax + 0xc]
mov edi, dword [esp + 0x20]
xor edx, edx
push eax
mov ecx, ebp
push dword [edi + 0x10]
call fcn.004ba7a0
mov esi, eax
add esp, 8
mov dword [esp + 0x24], esi
test esi, esi
je 0x4b30a9
mov edx, esi
mov ecx, ebp
call fcn.004b1ec0
test eax, eax
jne 0x4b30a9
xor edx, edx
mov ecx, str.view
cmp byte [esi + 0x2b], 2
cmovne ecx, edx
cmp byte [esi + 0x2b], 1
jne 0x4b2d90
mov ecx, str.virtual_table
jmp 0x4b2d94
test ecx, ecx
je 0x4b2dba
push dword [esi]
push ecx
push str.rename_columns_of
push str.cannot__s__s___s_
push ebp
call fcn.0046f8e0
add esp, 0x14
mov edx, edi
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp fcn.004c2700
mov ecx, dword [esi + 0x3c]
mov edx, 0xffff8000
mov dword [esp + 0x1c], edx
test ecx, ecx
je 0x4b2dec
mov eax, dword [ebx + 0x10]
xor edx, edx
add eax, 0xc
mov dword [esp + 0x1c], edx
cmp dword [eax], ecx
je 0x4b2dec
nop word [eax + eax]
lea eax, [eax + 0x10]
inc edx
cmp dword [eax], ecx
jne 0x4b2de0
mov dword [esp + 0x1c], edx
mov eax, dword [ebx + 0x10]
add edx, edx
push 0
push dword [esi]
mov ecx, ebp
mov eax, dword [eax + edx*8]
mov edx, 0x1a
push eax
mov dword [esp + 0x34], eax
call fcn.004b97c0
add esp, 0xc
test eax, eax
jne 0x4b30a9
mov eax, dword [esp + 0x40]
test eax, eax
je 0x4b2daa
mov edi, dword [eax]
mov esi, dword [eax + 4]
xor eax, eax
test edi, edi
je 0x4b2e57
mov ecx, esi
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, ebx
call fcn.0046c6f0
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x4b2e5b
push esi
push edi
push eax
call fcn.00549690
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov byte [esi + eax], 0
jmp 0x4b2e5b
mov dword [esp + 0x10], eax
mov ecx, eax
call fcn.0046f970
cmp dword [esp + 0x10], 0
je 0x4b30a9
mov eax, dword [esp + 0x24]
xor edi, edi
mov dword [esp + 0x2c], edi
movsx ecx, word [eax + 0x22]
mov dword [esp + 0x30], ecx
test ecx, ecx
jle 0x4b2eb1
mov eax, dword [eax + 4]
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x2c], eax
nop
mov edx, dword [eax]
mov esi, ebp
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [esi + edx]
cmp ecx, eax
jne 0x4b2edb
test ecx, ecx
jne 0x4b2eed
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x2c], edi
cmp edi, ecx
jne 0x4b2f06
push dword [esp + 0x40]
push str.no_such_column:___T_
push ebp
call fcn.0046f8e0
mov edx, dword [esp + 0x2c]
add esp, 0xc
mov ecx, ebx
call fcn.004c2700
mov edx, dword [esp + 0x10]
jmp 0x4b30bc
movzx eax, byte [eax + 0x591b60]
movzx ecx, byte [ecx + 0x591b60]
sub ecx, eax
jne 0x4b2ef0
inc edx
jmp 0x4b2e96
mov eax, dword [esp + 0x2c]
inc edi
mov ecx, dword [esp + 0x30]
add eax, 0x10
mov dword [esp + 0x2c], eax
cmp edi, ecx
jl 0x4b2e90
jmp 0x4b2ea9
mov edi, dword [esp + 0x28]
xor ebx, ebx
cmp dword [esp + 0x1c], 1
push 0
push 0x58e160
sete bl
mov byte [ebp + 0x10], 1
push ebx
push edi
push edi
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 ebp
call fcn.004ba2b0
add esp, 0x1c
cmp dword [esp + 0x1c], 1
je 0x4b2f6a
push 0
push 0x58e160
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 ebp
call fcn.004ba2b0
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 ebp
call fcn.004ba2b0
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 ebp
call fcn.004ba2b0
add esp, 0x18
jmp 0x4b2f7a
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 ebp
call fcn.004ba2b0
add esp, 0x10
mov eax, dword [ebp + 0x74]
mov ecx, ebp
mov esi, dword [esp + 0x44]
test eax, eax
cmovne ecx, eax
mov byte [ecx + 0x15], 1
test esi, esi
je 0x4b309f
mov ebp, dword [esi]
mov edi, dword [esi + 4]
test ebp, ebp
je 0x4b2fcf
xor eax, eax
mov ecx, edi
add ecx, 1
adc eax, eax
push eax
push ecx
mov ecx, dword [esp + 0x20]
call fcn.0046c6f0
add esp, 8
mov dword [esp + 0x14], eax
test eax, eax
je 0x4b2fd7
push edi
push ebp
mov ebp, eax
push ebp
call fcn.00549690
add esp, 0xc
mov byte [edi + ebp], 0
jmp 0x4b2fdb
xor ebp, ebp
mov dword [esp + 0x14], ebp
jmp 0x4b2fdb
mov ebp, dword [esp + 0x14]
mov ecx, ebp
call fcn.0046f970
test ebp, ebp
je 0x4b30a5
mov eax, dword [esi]
mov edi, dword [esp + 0x34]
movzx eax, byte [eax]
movzx esi, byte [eax + 0x591008]
mov eax, dword [esp + 0x24]
and esi, 0x80
mov eax, dword [eax]
push eax
push ebx
push esi
push ebp
mov ebp, dword [esp + 0x3c]
push ebp
push eax
mov eax, dword [esp + 0x40]
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.004ba2b0
mov eax, dword [esp + 0x3c]
push esi
mov esi, dword [esp + 0x54]
push eax
mov eax, dword [esp + 0x54]
push ebp
push dword [eax]
push esi
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.004ba2b0
mov edx, dword [esp + 0x60]
add esp, 0x44
mov ecx, edi
push 1
call fcn.004b1f90
add esp, 4
mov byte [edi + 0x10], 1
push 1
push str.after_rename
push ebx
push esi
push esi
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.004ba2b0
add esp, 0x1c
cmp dword [esp + 0x1c], 1
je 0x4b30a5
push 1
push str.after_rename
push esi
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.004ba2b0
mov ebx, dword [esp + 0x2c]
add esp, 0x14
mov edx, dword [esp + 0x20]
mov ecx, ebx
call fcn.004c2700
mov edx, dword [esp + 0x10]
jmp 0x4b30bc
xor eax, eax
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ecx, ebx
call fcn.004c2700
mov edx, dword [esp + 0x10]
test edx, edx
je 0x4b30c3
mov ecx, ebx
call fcn.0046c300
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4b30db
mov edx, eax
mov ecx, ebx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
jmp fcn.0046c300
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x2c
ret