Function at 0x435cb0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x24
push ebx
push esi
push edi
mov edi, ecx
xor edx, edx
mov eax, dword [edi + 0xc]
mov ecx, dword [edi + 0x3c]
mov dword [ebp - 0x18], eax
or eax, 0x2800
mov dword [edi + 0xc], eax
mov eax, dword [edi + 8]
mov dword [ebp - 0x1c], ecx
mov eax, dword [eax + 4]
mov ecx, dword [edi + 0x40]
mov dword [ebp - 4], eax
mov eax, dword [eax + 4]
mov dword [ebp - 0xc], edx
mov eax, dword [eax]
mov dword [ebp - 0x20], ecx
movzx eax, byte [eax + 0xd]
mov edx, str.ATTACH__AS_vacuum_db_
mov ecx, edi
mov dword [ebp - 8], eax
call fcn.00435c0a
mov esi, eax
test esi, esi
jne 0x435f1b
mov eax, dword [edi + 8]
mov ecx, dword [edi + 4]
mov esi, dword [ebp - 4]
shl ecx, 4
lea edx, [eax - 0x10]
mov ebx, dword [ecx + eax - 0xc]
add edx, ecx
mov ecx, esi
mov dword [ebp - 0xc], edx
call fcn.0040ea1e
mov eax, dword [esi + 4]
movzx ecx, word [eax + 0x16]
movzx eax, word [eax + 0x14]
sub eax, ecx
mov ecx, esi
mov dword [ebp - 0x10], eax
call fcn.0040ea88
mov eax, dword [esi + 4]
mov esi, dword [ebp - 0x10]
movzx edx, word [eax + 0x14]
push 0
push esi
mov ecx, ebx
call fcn.0040ffdd
pop ecx
pop ecx
test eax, eax
jne 0x435f18
cmp dword [ebp - 8], eax
jne 0x435d74
mov edx, dword [edi + 0x24]
push eax
push esi
mov ecx, ebx
call fcn.0040ffdd
pop ecx
pop ecx
test eax, eax
jne 0x435f18
cmp byte [edi + 0x1e], 0
jne 0x435f18
mov edx, str.PRAGMA_vacuum_db.synchronousOFF
mov ecx, edi
call fcn.00435c0a
mov esi, eax
test esi, esi
jne 0x435f1b
mov al, byte [edi + 0x21]
test al, al
js 0x435da0
movsx eax, al
jmp 0x435da8
mov ecx, dword [ebp - 4]
call fcn.004100bc
mov edx, eax
mov ecx, ebx
call fcn.0041006a
mov edx, str.BEGIN_EXCLUSIVE_
mov ecx, edi
call fcn.00435c0a
mov esi, eax
test esi, esi
jne 0x435f1b
mov edx, str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
mov ecx, edi
call fcn.00435c4d
mov esi, eax
test esi, esi
jne 0x435f1b
mov edx, str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
mov ecx, edi
call fcn.00435c4d
mov esi, eax
test esi, esi
jne 0x435f1b
mov edx, str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
mov ecx, edi
call fcn.00435c4d
mov esi, eax
test esi, esi
jne 0x435f1b
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name____FROM_sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
mov ecx, edi
call fcn.00435c4d
mov esi, eax
test esi, esi
jne 0x435f1b
mov edx, str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
mov ecx, edi
call fcn.00435c4d
mov esi, eax
test esi, esi
jne 0x435f1b
mov edx, str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM___quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
mov ecx, edi
call fcn.00435c4d
mov esi, eax
test esi, esi
jne 0x435f1b
mov edx, str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov ecx, edi
call fcn.00435c0a
mov esi, eax
test esi, esi
jne 0x435f1b
mov dword [ebp - 8], eax
movzx edx, byte [eax + 0x5b1b3c]
lea ecx, [ebp - 0x14]
push ecx
mov ecx, dword [ebp - 4]
call fcn.00413e21
mov esi, eax
pop ecx
test esi, esi
jne 0x435f1b
mov ecx, dword [ebp - 8]
movzx eax, byte [ecx + 0x5b1b3d]
add eax, dword [ebp - 0x14]
movzx edx, byte [ecx + 0x5b1b3c]
push eax
mov ecx, ebx
call fcn.00413ec6
mov esi, eax
pop ecx
test esi, esi
jne 0x435f1b
mov eax, dword [ebp - 8]
add eax, 2
mov dword [ebp - 8], eax
cmp eax, 8
jl 0x435e64
mov ecx, dword [ebp - 4]
mov edx, ebx
call fcn.0041530c
mov esi, eax
test esi, esi
jne 0x435f1b
mov ecx, ebx
call fcn.0040ea1e
xor edx, edx
mov ecx, ebx
call fcn.00410a33
mov esi, eax
test esi, esi
jne 0x435ee2
mov ecx, ebx
call fcn.00410a8c
mov esi, eax
mov ecx, ebx
call fcn.0040ea88
test esi, esi
jne 0x435f1b
mov ecx, ebx
call fcn.004100bc
mov ecx, dword [ebp - 4]
mov edx, eax
call fcn.0041006a
mov eax, dword [ebx + 4]
mov ecx, dword [ebp - 4]
movzx edx, word [eax + 0x14]
push 1
push dword [ebp - 0x10]
call fcn.0040ffdd
pop ecx
pop ecx
mov esi, eax
jmp 0x435f1b
push 7
pop esi
mov eax, dword [ebp - 0x18]
mov dword [edi + 0xc], eax
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x3c], eax
mov eax, dword [ebp - 0x20]
mov dword [edi + 0x40], eax
mov eax, dword [ebp - 0xc]
mov byte [edi + 0x1c], 1
test eax, eax
je 0x435f4b
mov ecx, dword [eax + 4]
call fcn.0040fea9
mov eax, dword [ebp - 0xc]
and dword [eax + 4], 0
and dword [eax + 0xc], 0
xor edx, edx
mov ecx, edi
call fcn.00425200
pop edi
mov eax, esi
pop esi
pop ebx
leave
ret