Function at 0x6893f818
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x4c
mov dword [ebp - 0x3c], eax
xor eax, eax
mov dword [edx], eax
mov dword [ebp - 0x38], edx
mov dword [ebp - 0x2c], ecx
mov dword [ebp - 0x24], eax
mov dword [ebp - 0x20], eax
call sym.sqlite.dll_sqlite3_initialize
mov esi, eax
test eax, eax
jne 0x6893fcf9
cmp byte [0x68a08ce4], 0
mov eax, dword [ebp - 0x2c]
je 0x6893f867
bt eax, 0xf
jb 0x6893f867
bt eax, 0x10
mov esi, 1
jb 0x6893f867
movzx esi, byte [0x68a08ce5]
bt eax, 0x12
jae 0x6893f874
and eax, 0xfffdffff
jmp 0x6893f882
cmp dword [0x68a08da8], 0
je 0x6893f885
or eax, 0x20000
mov dword [ebp - 0x2c], eax
mov eax, dword [ebp - 0x2c]
xor edx, edx
mov dword [ebp - 0x30], eax
and eax, 0xfff600e7
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x2c], eax
mov eax, 0x218
call fcn.688d584d
mov ebx, eax
test eax, eax
je 0x6893f8c5
test esi, esi
je 0x6893f8cc
mov eax, 1
call fcn.688c8519
mov dword [ebx + 0xc], eax
test eax, eax
jne 0x6893f8cc
mov dword [esp], ebx
call sym.sqlite.dll_sqlite3_free
xor ebx, ebx
jmp 0x6893fcc7
mov eax, dword [ebx + 0xc]
mov esi, 0x68a12d80
mov dword [esp], eax
call sym.sqlite.dll_sqlite3_mutex_enter
mov eax, dword [ebp - 0x30]
mov byte [ebx + 0x61], 0x6d
mov ecx, 0xb
mov dword [ebx + 0x14], 2
mov dword [ebx + 0x130], 1
and eax, 0x2000000
mov word [ebx + 0x134], 0
neg eax
sbb eax, eax
or al, 0xff
mov dword [ebx + 0x48], eax
lea eax, [ebx + 0x1cc]
mov dword [ebx + 0x10], eax
lea eax, [ebx + 0x78]
mov edi, eax
rep movsd dword es:[edi], dword [esi]
mov byte [ebx + 0x55], 1
xor esi, esi
xor edi, edi
mov byte [ebx + 0x5a], 0xff
mov ecx, 1
mov eax, dword [0x68a08d88]
mov dword [ebx + 0xa4], esi
xor esi, esi
mov edx, dword [0x68a08d8c]
mov dword [ebx + 0x64], edi
xor edi, edi
mov dword [ebx + 0x30], eax
xor eax, eax
or dword [ebx + 0x20], 0xe00480e0
mov dword [ebx + 0x34], edx
mov edx, str.BINARY
mov dword [ebx + 0x1b8], eax
mov dword [ebx + 0x1b4], eax
mov dword [ebx + 0x1b0], eax
mov dword [ebx + 0x1bc], eax
mov dword [ebx + 0x18c], eax
mov dword [ebx + 0x188], eax
mov dword [ebx + 0x184], eax
mov dword [ebx + 0x190], eax
mov dword [ebx + 0xb8], 0x68a08cb0
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp], eax
mov eax, ebx
mov dword [esp + 4], 0x688ce3df
call fcn.688e88ab
xor eax, eax
mov ecx, 3
mov dword [esp + 4], 0x688ce3df
mov dword [esp + 8], eax
xor eax, eax
mov edx, str.BINARY
mov dword [esp], eax
mov eax, ebx
call fcn.688e88ab
xor eax, eax
xor edx, edx
mov ecx, 2
mov dword [esp + 8], eax
mov eax, ebx
mov dword [esp], edx
mov edx, str.BINARY
mov dword [esp + 4], 0x688ce3df
call fcn.688e88ab
xor ecx, ecx
mov dword [esp], esi
mov edx, 0x68a0dfec
mov dword [esp + 8], ecx
mov eax, ebx
mov ecx, 1
mov dword [esp + 4], 0x688d019e
call fcn.688e88ab
xor eax, eax
mov dword [esp + 8], edi
mov ecx, 1
mov dword [esp], eax
mov edx, str.RTRIM
mov eax, ebx
mov dword [esp + 4], 0x688ce419
call fcn.688e88ab
cmp byte [ebx + 0x57], 0
jne 0x6893fcbc
mov eax, dword [ebp - 0x34]
mov edx, 0x46
mov dword [ebx + 0x3c], eax
mov eax, dword [ebp - 0x30]
and eax, 7
bt edx, eax
jb 0x6893fa67
mov eax, 0x2be5c
call fcn.688e8204
jmp 0x6893fa86
lea eax, [ebp - 0x20]
mov dword [esp], ebx
mov edx, dword [ebp - 0x3c]
lea ecx, [ebp - 0x2c]
mov dword [esp + 8], eax
lea eax, [ebp - 0x24]
mov dword [esp + 4], eax
mov eax, dword [ebp + 8]
call fcn.688fe844
mov edx, dword [ebp - 0x24]
mov esi, eax
test eax, eax
je 0x6893face
cmp eax, 7
jne 0x6893fa9b
mov eax, ebx
call fcn.688dcedd
mov edi, dword [ebp - 0x20]
mov edx, 0
mov eax, 0x68a0c46f
mov dword [esp], ebx
mov dword [esp + 4], esi
test edi, edi
mov dword [esp + 0xc], edi
cmove eax, edx
mov dword [esp + 8], eax
call fcn.688e807b
mov dword [esp], edi
call sym.sqlite.dll_sqlite3_free
jmp 0x6893fcbc
mov eax, dword [ebp - 0x2c]
xor ecx, ecx
mov dword [esp + 4], ecx
mov ecx, ebx
or ah, 1
mov dword [esp + 8], eax
mov eax, dword [ebx + 0x10]
add eax, 4
mov dword [esp], eax
mov eax, dword [ebx]
call fcn.68902a2d
mov esi, eax
test eax, eax
je 0x6893fb10
cmp eax, 0xc0a
jne 0x6893fb02
mov esi, 7
mov edx, esi
mov eax, ebx
call fcn.688cfc7f
jmp 0x6893fcbc
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
call fcn.688d6cb1
mov edi, dword [ebx + 0x10]
mov eax, ebx
mov edx, dword [edi + 4]
call fcn.688e277c
mov dword [edi + 0xc], eax
cmp byte [ebx + 0x57], 0
jne 0x6893fb42
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 0xc]
movzx edx, byte [eax + 0x4d]
mov eax, ebx
call fcn.688e2217
mov eax, dword [ebx + 0x10]
mov eax, dword [eax + 4]
call fcn.688d089a
mov edi, dword [ebx + 0x10]
xor edx, edx
mov eax, ebx
call fcn.688e277c
mov dword [edi + 0x1c], eax
mov eax, dword [ebx + 0x10]
mov dword [eax], 0x68a0b524
mov byte [eax + 8], 3
mov dword [eax + 0x10], str.temp
mov byte [eax + 0x18], 1
cmp byte [ebx + 0x57], 0
mov byte [ebx + 0x61], 0x76
jne 0x6893fcbc
xor edx, edx
mov eax, ebx
call fcn.688cfc7f
mov dword [esp + 8], 2
mov dword [esp + 4], str.MATCH
mov dword [esp], ebx
call sym.sqlite.dll_sqlite3_overload_function
cmp eax, 7
jne 0x6893fbaf
mov eax, ebx
call fcn.688dcedd
mov dword [esp], ebx
call sym.sqlite.dll_sqlite3_errcode
test eax, eax
jne 0x6893fc8c
cmp esi, 1
jg 0x6893fbd1
mov dword [esp], ebx
call dword [esi*4 + 0x68a12db0]
inc esi
jmp 0x6893fbb7
test eax, eax
jne 0x6893fc8c
xor esi, esi
cmp dword [0x68a7a0b0], 0
jne 0x6893fbf9
mov dword [esp], ebx
call sym.sqlite.dll_sqlite3_errcode
test eax, eax
je 0x6893fc95
jmp 0x6893fcbc
mov eax, 2
call fcn.688c8519
mov dword [esp], eax
mov dword [ebp - 0x30], eax
call sym.sqlite.dll_sqlite3_mutex_enter
cmp esi, dword [0x68a7a0b0]
mov eax, dword [ebp - 0x30]
jae 0x6893fc29
mov edx, dword [0x68a7a0b4]
mov edi, 1
mov edx, dword [edx + esi*4]
jmp 0x6893fc2d
xor edi, edi
xor edx, edx
mov dword [esp], eax
mov dword [ebp - 0x30], edx
call sym.sqlite.dll_sqlite3_mutex_leave
mov edx, dword [ebp - 0x30]
xor eax, eax
mov dword [ebp - 0x1c], eax
test edx, edx
je 0x6893fc79
lea eax, [ebp - 0x1c]
mov dword [esp + 8], 0x68a174e0
mov dword [esp + 4], eax
mov dword [esp], ebx
call edx
test eax, eax
je 0x6893fc79
mov edx, dword [ebp - 0x1c]
mov dword [esp + 8], str.automatic_extension_loading_failed:__s
xor edi, edi
mov dword [esp + 4], eax
mov dword [esp + 0xc], edx
mov dword [esp], ebx
call fcn.688e807b
mov eax, dword [ebp - 0x1c]
inc esi
mov dword [esp], eax
call sym.sqlite.dll_sqlite3_free
test edi, edi
jmp 0x6893fbe2
mov edx, eax
mov eax, ebx
call fcn.688cfc7f
mov eax, dword [0x68a08cf8]
mov ecx, dword [0x68a08cf4]
xor edx, edx
mov dword [esp], eax
mov eax, ebx
call fcn.688d7ecf
mov dword [esp + 4], 0x3e8
mov dword [esp], ebx
call sym.sqlite.dll_sqlite3_wal_autocheckpoint
mov eax, dword [ebx + 0xc]
mov dword [esp], eax
call sym.sqlite.dll_sqlite3_mutex_leave
mov dword [esp], ebx
call sym.sqlite.dll_sqlite3_errcode
mov esi, eax
cmp al, 7
jne 0x6893fce1
mov dword [esp], ebx
xor ebx, ebx
call sym.sqlite.dll_sqlite3_close
jmp 0x6893fce9
test eax, eax
je 0x6893fce9
mov byte [ebx + 0x61], 0xba
mov eax, dword [ebp - 0x38]
mov dword [eax], ebx
mov eax, dword [ebp - 0x24]
mov dword [esp], eax
call sym.sqlite.dll_sqlite3_free_filename
add esp, 0x4c
mov eax, esi
pop ebx
pop esi
pop edi
pop ebp
ret