Function at 0x6094b890
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x3c
push edi
push esi
push ebx
mov edi, dword [ebp + 0xc]
mov dword [ebp - 0x20], 0
cmp byte [edi + 0x1c], 0
jne 0x6094b8b8
add esp, 0xfffffffc
push 0x6094b350
push edi
mov eax, dword [ebp + 8]
push eax
jmp 0x6094b8ce
cmp dword [edi + 0x8c], 1
jle 0x6094b8e0
add esp, 0xfffffffc
push 0x6094b390
push edi
mov edx, dword [ebp + 8]
push edx
call sym._sqlite3SetString
mov eax, 1
jmp 0x6094bc89
mov eax, dword [edi + 0xc]
mov dword [ebp - 0x10], eax
mov edx, dword [edi + 0x3c]
mov dword [ebp - 0x14], edx
mov eax, dword [edi + 0x40]
mov dword [ebp - 0x18], eax
mov edx, dword [edi + 0x98]
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x10]
or eax, 0x10050000
and eax, 0xfaffffff
mov dword [edi + 0xc], eax
mov dword [edi + 0x98], 0
mov eax, dword [edi + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 8], eax
add esp, 0xfffffff4
add esp, 0xfffffff4
push eax
call sym._sqlite3BtreePager
push eax
call sym._sqlite3PagerIsMemdb
mov dword [ebp - 0x24], eax
mov esi, dword [edi + 4]
add esp, 0x20
add esp, 0xfffffff4
push edi
call sym._sqlite3TempInMemory
add esp, 0x10
mov edx, 0x6094b3f0
test eax, eax
je 0x6094b953
mov edx, 0x6094b3d0
add esp, 0xfffffffc
push edx
mov eax, dword [ebp + 8]
push eax
push edi
call sym._execSql
mov ebx, eax
mov ecx, dword [edi + 4]
add esp, 0x10
cmp ecx, esi
jle 0x6094b97c
mov eax, ecx
shl eax, 4
mov edx, dword [edi + 8]
lea eax, [edx + eax - 0x10]
mov dword [ebp - 0x20], eax
test ebx, ebx
jne 0x6094bc23
shl ecx, 4
add ecx, dword [edi + 8]
mov ecx, dword [ecx - 0xc]
mov dword [ebp - 0xc], ecx
add esp, 0xfffffff4
push ecx
call sym._sqlite3BtreeCommit
add esp, 0xfffffff4
mov edx, dword [ebp - 8]
push edx
call sym._sqlite3BtreeGetReserve
mov dword [ebp - 0x28], eax
add esp, 0x20
add esp, 0xfffffff4
add esp, 0xfffffff4
mov eax, dword [ebp - 8]
push eax
call sym._sqlite3BtreePager
push eax
call sym._sqlite3PagerGetJournalMode
add esp, 0x20
cmp eax, 5
jne 0x6094b9cf
mov dword [edi + 0x24], 0
push 0
mov edx, dword [ebp - 0x28]
push edx
add esp, 0xfffffff4
mov eax, dword [ebp - 8]
push eax
call sym._sqlite3BtreeGetPageSize
add esp, 0x10
push eax
mov edx, dword [ebp - 0xc]
push edx
call sym._sqlite3BtreeSetPageSize
add esp, 0x10
test eax, eax
jne 0x6094ba1a
cmp dword [ebp - 0x24], 0
jne 0x6094ba14
push 0
mov eax, dword [ebp - 0x28]
push eax
push dword [edi + 0x24]
mov edx, dword [ebp - 0xc]
push edx
call sym._sqlite3BtreeSetPageSize
add esp, 0x10
test eax, eax
jne 0x6094ba1a
cmp byte [edi + 0x1e], 0
je 0x6094ba24
mov ebx, 7
jmp 0x6094bc23
add esp, 0xfffffffc
push 0x6094b410
mov eax, dword [ebp + 8]
push eax
push edi
call sym._execSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffff8
cmp byte [edi + 0x20], 0
jl 0x6094ba54
movsx eax, byte [edi + 0x20]
jmp 0x6094ba63
add esp, 0xfffffff4
mov edx, dword [ebp - 8]
push edx
call sym._sqlite3BtreeGetAutoVacuum
add esp, 0x10
push eax
mov eax, dword [ebp - 0xc]
push eax
call sym._sqlite3BtreeSetAutoVacuum
add esp, 0xfffffffc
push 0x6094b431
mov edx, dword [ebp + 8]
push edx
push edi
call sym._execSql
mov ebx, eax
add esp, 0x20
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffffc
push 0x6094b450
mov eax, dword [ebp + 8]
push eax
push edi
call sym._execExecSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffffc
push 0x6094b4f0
mov edx, dword [ebp + 8]
push edx
push edi
call sym._execExecSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffffc
push 0x6094b570
mov eax, dword [ebp + 8]
push eax
push edi
call sym._execExecSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffffc
push 0x6094b5f0
mov edx, dword [ebp + 8]
push edx
push edi
call sym._execExecSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffffc
push 0x6094b6b0
mov eax, dword [ebp + 8]
push eax
push edi
call sym._execExecSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffffc
push 0x6094b730
mov edx, dword [ebp + 8]
push edx
push edi
call sym._execExecSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffffc
push 0x6094b7d0
mov eax, dword [ebp + 8]
push eax
push edi
call sym._execSql
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
mov dword [ebp - 0x2c], 0
add esp, 0xfffffffc
lea eax, [ebp - 4]
push eax
mov ebx, 0x6094b888
mov edx, dword [ebp - 0x2c]
movzx esi, byte [edx + ebx]
push esi
mov eax, dword [ebp - 8]
push eax
call sym._sqlite3BtreeGetMeta
add esp, 0xfffffffc
mov edx, dword [ebp - 0x2c]
movzx eax, byte [ebx + edx + 1]
add eax, dword [ebp - 4]
push eax
push esi
mov eax, dword [ebp - 0xc]
push eax
call sym._sqlite3BtreeUpdateMeta
mov ebx, eax
add esp, 0x20
test ebx, ebx
jne 0x6094bc23
add dword [ebp - 0x2c], 2
cmp dword [ebp - 0x2c], 7
jle 0x6094bb6c
add esp, 0xfffffff8
mov edx, dword [ebp - 0xc]
push edx
mov eax, dword [ebp - 8]
push eax
call sym._sqlite3BtreeCopyFile
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffff4
mov edx, dword [ebp - 0xc]
push edx
call sym._sqlite3BtreeCommit
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x6094bc23
add esp, 0xfffffff8
add esp, 0xfffffff4
mov eax, dword [ebp - 0xc]
push eax
call sym._sqlite3BtreeGetAutoVacuum
push eax
mov edx, dword [ebp - 8]
push edx
call sym._sqlite3BtreeSetAutoVacuum
add esp, 0x20
push 1
mov eax, dword [ebp - 0x28]
push eax
add esp, 0xfffffff4
mov edx, dword [ebp - 0xc]
push edx
call sym._sqlite3BtreeGetPageSize
add esp, 0x10
push eax
mov eax, dword [ebp - 8]
push eax
call sym._sqlite3BtreeSetPageSize
mov ebx, eax
add esp, 0x10
mov edx, dword [ebp - 0x10]
mov dword [edi + 0xc], edx
mov eax, dword [ebp - 0x14]
mov dword [edi + 0x3c], eax
mov edx, dword [ebp - 0x18]
mov dword [edi + 0x40], edx
mov eax, dword [ebp - 0x1c]
mov dword [edi + 0x98], eax
push 1
push 0xffffffffffffffff
push 0xffffffffffffffff
mov edx, dword [ebp - 8]
push edx
call sym._sqlite3BtreeSetPageSize
mov byte [edi + 0x1c], 1
add esp, 0x10
cmp dword [ebp - 0x20], 0
je 0x6094bc7c
add esp, 0xfffffff4
mov eax, dword [ebp - 0x20]
push dword [eax + 4]
call sym._sqlite3BtreeClose
mov edx, dword [ebp - 0x20]
mov dword [edx + 4], 0
mov dword [edx + 0xc], 0
add esp, 0x10
add esp, 0xfffffff8
push 0xffffffffffffffff
push edi
call sym._sqlite3ResetInternalSchema
mov eax, ebx
lea esp, [ebp - 0x48]
pop ebx
pop esi
pop edi
leave
ret