Function at 0x1004443d
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
xor ecx, ecx
push ebx
push edi
mov dword [ebp - 0x10], ecx
cmp byte [esi + 0x1c], cl
jne 0x10044467
mov edi, dword [ebp + 8]
push str.cannot_VACUUM_from_within_a_transaction
push esi
call fcn.10011b9d
pop ecx
xor eax, eax
pop ecx
inc eax
jmp 0x1004478a
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x3c]
mov edi, dword [esi + 4]
mov dword [ebp - 0x1c], eax
and eax, 0xfaffffff
or eax, 0x10050000
cmp byte [esi + 0x1d], 2
mov dword [esi + 0xc], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x20], edx
mov edx, dword [esi + 0x40]
mov dword [ebp - 0x24], edx
mov edx, dword [esi + 0x94]
mov dword [esi + 0x94], ecx
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
mov eax, dword [eax + 4]
mov eax, dword [eax]
movzx eax, byte [eax + 0xd]
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x28], edx
mov eax, str.ATTACH_:memory:_AS_vacuum_db_
je 0x100444bd
mov eax, str.ATTACH__AS_vacuum_db_
push eax
mov eax, dword [ebp + 8]
mov ebx, esi
call fcn.1004436a
mov dword [ebp - 4], eax
mov eax, dword [esi + 4]
pop ecx
cmp eax, edi
jle 0x100444e1
mov edx, dword [esi + 8]
mov ecx, eax
add ecx, ecx
lea ecx, [edx + ecx*8 - 0x10]
mov dword [ebp - 0x10], ecx
cmp dword [ebp - 4], 0
jne 0x10044705
mov ecx, dword [esi + 8]
add eax, eax
mov eax, dword [ecx + eax*8 - 0xc]
mov dword [ebp - 0xc], eax
call fcn.1001d9cf
mov edi, dword [ebp - 8]
call fcn.1001b5da
mov eax, dword [edi + 4]
mov ebx, dword [eax + 0x20]
sub ebx, dword [eax + 0x24]
mov eax, edi
mov dword [ebp - 0x18], ebx
call fcn.1001b63e
mov eax, dword [edi + 4]
mov eax, dword [eax]
cmp byte [eax + 5], 5
jne 0x10044526
and dword [esi + 0x24], 0
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x20]
push 0
push ebx
push dword [ebp - 0xc]
call fcn.1001cc8c
add esp, 0xc
test eax, eax
jne 0x100446fe
cmp dword [ebp - 0x14], eax
jne 0x1004455f
push eax
mov eax, dword [esi + 0x24]
push ebx
push dword [ebp - 0xc]
call fcn.1001cc8c
add esp, 0xc
test eax, eax
jne 0x100446fe
cmp byte [esi + 0x1e], 0
jne 0x100446fe
mov eax, dword [ebp + 8]
push str.PRAGMA_vacuum_db.synchronousOFF
mov ebx, esi
call fcn.1004436a
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
mov al, byte [esi + 0x20]
test al, al
js 0x10044590
movsx eax, al
jmp 0x10044597
mov eax, edi
call fcn.1001cdd7
push eax
mov eax, dword [ebp - 0xc]
call fcn.1001cd88
mov edi, dword [ebp + 8]
mov eax, edi
mov dword [esp], str.BEGIN_EXCLUSIVE_
call fcn.1004436a
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
push str.SELECT_CREATE_TABLE_vacuum_db.__substr_sql_14____FROM_sqlite_master_WHERE_typetable_AND_name_sqlite_sequence___AND_rootpage_0
push edi
push esi
call fcn.100443c8
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
push str.SELECT_CREATE_INDEX_vacuum_db.__substr_sql_14___FROM_sqlite_master_WHERE_sql_LIKE_CREATE_INDEX__
push edi
push esi
call fcn.100443c8
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
push str.SELECT_CREATE_UNIQUE_INDEX_vacuum_db.__substr_sql_21____FROM_sqlite_master_WHERE_sql_LIKE_CREATE_UNIQUE_INDEX__
push edi
push esi
call fcn.100443c8
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name____FROM_main.sqlite_master_WHERE_type__table_AND_name_sqlite_sequence___AND_rootpage_0
push edi
push esi
call fcn.100443c8
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
push str.SELECT_DELETE_FROM_vacuum_db.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence
push edi
push esi
call fcn.100443c8
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
push str.SELECT_INSERT_INTO_vacuum_db.__quote_name____SELECT__FROM_main.__quote_name_____FROM_vacuum_db.sqlite_master_WHERE_namesqlite_sequence_
push edi
push esi
call fcn.100443c8
add esp, 0xc
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
push str.INSERT_INTO_vacuum_db.sqlite_master___SELECT_type__name__tbl_name__rootpage__sql____FROM_main.sqlite_master___WHERE_typeview_OR_typetrigger______OR__typetable_AND_rootpage0_
mov eax, edi
call fcn.1004436a
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
xor edi, edi
lea eax, [ebp - 0x14]
push eax
movzx eax, byte [edi + 0x100839d8]
push eax
mov eax, dword [ebp - 8]
call fcn.10020b9d
movzx eax, byte [edi + 0x100839d9]
add eax, dword [ebp - 0x14]
mov ebx, dword [ebp - 0xc]
push eax
movzx eax, byte [edi + 0x100839d8]
push eax
call fcn.10020bcd
add esp, 0x10
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
add edi, 2
cmp edi, 8
jl 0x10044673
push dword [ebp - 8]
call fcn.10022073
pop ecx
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
mov eax, ebx
call fcn.1001d9cf
mov dword [ebp - 4], eax
test eax, eax
jne 0x10044705
mov eax, ebx
call fcn.1001cdd7
push eax
mov eax, dword [ebp - 8]
call fcn.1001cd88
mov eax, dword [ebx + 4]
mov eax, dword [eax + 0x20]
pop ecx
push 1
push dword [ebp - 0x18]
push dword [ebp - 8]
call fcn.1001cc8c
add esp, 0xc
mov dword [ebp - 4], eax
jmp 0x10044705
mov dword [ebp - 4], 7
mov eax, dword [ebp - 0x1c]
mov edi, dword [ebp - 8]
mov dword [esi + 0xc], eax
mov eax, dword [ebp - 0x20]
mov dword [esi + 0x3c], eax
mov eax, dword [ebp - 0x24]
mov dword [esi + 0x40], eax
mov eax, dword [ebp - 0x28]
mov dword [esi + 0x94], eax
mov ebx, dword [edi + 4]
call fcn.1001b5da
cmp byte [ebx + 0x11], 0
je 0x10044735
mov eax, edi
jmp 0x1004475e
mov edi, dword [ebx]
lea ecx, [ebx + 0x20]
mov eax, dword [ecx]
sub eax, dword [ebx + 0x24]
push eax
push ecx
mov dword [ebp - 0x28], eax
call fcn.10018190
movzx eax, word [ebp - 0x28]
pop ecx
pop ecx
mov ecx, dword [ebx + 0x20]
sub ecx, eax
mov eax, dword [ebp - 8]
mov dword [ebx + 0x24], ecx
mov byte [ebx + 0x11], 1
call fcn.1001b63e
mov edi, dword [ebp - 0x10]
mov byte [esi + 0x1c], 1
test edi, edi
je 0x1004477e
mov eax, dword [edi + 4]
call fcn.1001cb53
and dword [edi + 4], 0
and dword [edi + 0xc], 0
xor eax, eax
mov ebx, esi
call fcn.10032ba8
mov eax, dword [ebp - 4]
pop edi
pop ebx
leave
ret