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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xac
mov eax, dword [0x10125170]
xor eax, esp
mov dword [esp + 0xa8], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
push esi
mov esi, dword [ebx + 8]
mov dword [esp + 0x2c], ecx
mov ecx, dword [ebx]
push edi
mov edi, edx
mov dword [esp + 0x14], ebx
mov dword [esp + 0x20], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x54], esi
test esi, esi
jne 0x1008fe3c
cmp dword [ebx + 0x78], esi
jne 0x1008fe23
test byte [ecx + 0x44], 8
jne 0x1008fe23
mov byte [ebx + 0x17], 1
mov ecx, ebx
call fcn.100c9330
mov esi, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x54], esi
test esi, esi
je 0x10092476
or dword [esi + 0x94], 0x20
lea ecx, [esp + 0x2c]
push ecx
push eax
mov edx, edi
mov ecx, ebx
mov dword [ebx + 0x2c], 2
call fcn.100a59d0
mov ecx, eax
add esp, 8
mov dword [esp + 0x18], ecx
test ecx, ecx
js 0x10092476
mov eax, dword [esp + 0x10]
mov edi, ecx
mov ebx, dword [eax + 0x10]
shl edi, 4
add ebx, edi
mov dword [esp + 0x24], edi
mov dword [esp + 0x50], ebx
cmp ecx, 1
jne 0x1008fe9a
mov ecx, dword [esp + 0x14]
call fcn.100a09a0
test eax, eax
jne 0x10092476
mov eax, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
mov ecx, eax
call fcn.100a5be0
mov dword [esp + 0x6c], eax
test eax, eax
je 0x10092476
cmp dword [ebp + 0x10], 0
je 0x1008fed4
push dword [esp + 0x30]
push 0x100ff144
push dword [esp + 0x18]
call fcn.100eaab0
mov ecx, eax
add esp, 0xc
mov dword [esp + 0x1c], ecx
jmp 0x1008fee7
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x10]
call fcn.100a5be0
mov ecx, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], 0
jbe 0x1008fef5
mov eax, dword [ebx]
jmp 0x1008fef7
xor eax, eax
push eax
push ecx
push dword [esp + 0x74]
mov ecx, dword [esp + 0x20]
mov edx, 0x13
mov dword [esp + 0x44], eax
call fcn.100a7070
add esp, 0xc
test eax, eax
jne case.0x10090047.40
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x80], ecx
lea ecx, [esp + 0x78]
push ecx
mov dword [esp + 0x7c], eax
mov eax, dword [esp + 0x70]
push 0xe
push dword [esp + 0x40]
mov dword [esp + 0x88], eax
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x90], 0
push eax
mov dword [eax + 0x194], 0
call sym.SQLite.Interop.dll_sqlite3_file_control
add esp, 0x10
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x1008ffa6
lea edx, [eax + 1]
mov ecx, esi
call fcn.100c6f10
push 0xffffffffffffffff
push dword [esp + 0x7c]
xor edx, edx
push 0
mov ecx, esi
call fcn.100c6ec0
mov edx, dword [esp + 0x84]
add esp, 0xc
mov ecx, esi
call fcn.10092820
push dword [esp + 0x78]
call sym.SQLite.Interop.dll_sqlite3_free
add esp, 4
jmp case.0x10090047.40
cmp eax, 0xc
je 0x1008ffe4
mov ecx, dword [esp + 0x78]
test ecx, ecx
je 0x1008ffd5
push ecx
push 0x100fc3c4
push dword [esp + 0x1c]
call fcn.100e99e0
add esp, 0xc
push dword [esp + 0x78]
call sym.SQLite.Interop.dll_sqlite3_free
mov eax, dword [esp + 0x30]
add esp, 4
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp case.0x10090047.40
mov ecx, dword [esp + 0x6c]
call fcn.10092670
mov dword [esp + 0x3c], eax
test eax, eax
je case.0x10090047.40
test byte [eax + 5], 1
je 0x10090014
mov ecx, dword [esp + 0x14]
call fcn.1008ec00
test eax, eax
jne case.0x10090047.40
mov eax, dword [esp + 0x3c]
mov cl, byte [eax + 5]
test cl, 2
jne 0x10090036
test cl, 4
je 0x10090029
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x1009003a
mov edx, eax
mov ecx, esi
call fcn.10092960
mov eax, dword [esp + 0x3c]
mov edx, dword [esp + 0x1c]
movzx ecx, byte [eax + 4]
cmp ecx, 0x2b
ja case.0x10090047.3
jmp dword [ecx*4 + 0x1009248c]
mov edi, dword [esp + 0x18]
mov edx, edi
mov ecx, esi
call fcn.100c7c50
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x1009008f
mov eax, dword [esp + 0x14]
push ecx
add dword [eax + 0x2c], 2
push 0x10107220
mov edx, 9
mov ecx, esi
call fcn.100c86d0
mov dword [eax + 4], edi
mov dword [eax + 0x18], edi
mov dword [eax + 0x7c], 0xfffff830
jmp 0x10092459
mov ecx, eax
call fcn.100e8d40
mov ecx, eax
call fcn.100e85c0
push dword [esp + 0x18]
mov ecx, dword [esp + 0x18]
xor edx, edx
mov edi, eax
call fcn.100a0830
add esp, 4
mov edx, 0x66
push edi
push 3
push dword [esp + 0x20]
mov ecx, esi
call fcn.100c9000
mov eax, dword [ebx + 0xc]
add esp, 0xc
mov dword [eax + 0x50], edi
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.100d4f50
jmp case.0x10090047.40
mov edi, dword [ebx + 4]
test edx, edx
jne 0x100900fd
test edi, edi
je 0x100900f6
mov eax, dword [edi + 4]
mov eax, dword [eax + 0x24]
jmp 0x1009244f
xor eax, eax
jmp 0x1009244f
mov ecx, edx
call fcn.100e8d40
mov ecx, dword [esp + 0x10]
push 0
mov dword [ecx + 0x54], eax
push 0xffffffffffffffff
mov edx, eax
mov ecx, edi
call fcn.100d4d90
add esp, 8
cmp eax, 7
jne case.0x10090047.40
mov ecx, dword [esp + 0x10]
call fcn.100ec490
jmp case.0x10090047.40
mov eax, dword [ebx + 4]
mov ebx, dword [esp + 0x1c]
or edx, 0xffffffff
mov dword [esp + 0x2c], eax
mov dword [esp + 0x28], edx
test ebx, ebx
je 0x1009016f
push str.fast
push ebx
call sym.SQLite.Interop.dll_sqlite3_stricmp
add esp, 8
test eax, eax
jne 0x1009015f
lea edx, [eax + 2]
jmp 0x1009016b
xor dl, dl
mov ecx, ebx
call fcn.10092c50
movzx edx, al
mov dword [esp + 0x28], edx
mov eax, dword [esp + 0x20]
cmp dword [eax + 4], 0
jne 0x100901b3
test edx, edx
js 0x100901b3
mov eax, dword [esp + 0x10]
xor ebx, ebx
cmp dword [eax + 0x14], ebx
jle 0x100901b3
mov esi, dword [esp + 0x28]
xor edi, edi
mov edi, edi
mov ecx, dword [eax + 0x10]
mov edx, esi
mov ecx, dword [edi + ecx + 4]
call fcn.100d4c60
mov eax, dword [esp + 0x10]
inc ebx
lea edi, [edi + 0x10]
cmp ebx, dword [eax + 0x14]
jl 0x10090190
mov esi, dword [esp + 0x54]
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x2c]
call fcn.100d4c60
jmp 0x1009244f
mov ebx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, ebx
call fcn.100a0960
inc dword [ebx + 0x2c]
mov eax, dword [esp + 0x6c]
mov edi, dword [ebx + 0x2c]
movzx eax, byte [eax]
cmp byte [eax + 0x10105440], 0x70
jne 0x1009020e
push edi
push dword [esp + 0x1c]
mov edx, 0x9f
mov ecx, esi
call fcn.100c8eb0
add esp, 8
mov edx, 0x4e
push 1
push edi
mov ecx, esi
call fcn.100c8eb0
jmp 0x10092459
mov ecx, dword [esp + 0x1c]
call fcn.100e8d40
mov ecx, eax
call fcn.100e85c0
push eax
push edi
push dword [esp + 0x20]
mov edx, 0xa0
mov ecx, esi
call fcn.100c9000
add esp, 0xc
mov edx, 0x4e
push 1
push edi
mov ecx, esi
call fcn.100c8eb0
jmp 0x10092459
mov ecx, edx
mov edi, str.normal
call fcn.10092c10
mov edx, eax
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
test eax, eax
jne 0x100902be
cmp edx, 0xffffffff
jne 0x1009026f
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x4b]
jmp 0x100902cb
test eax, eax
jne 0x100902be
mov eax, dword [esp + 0x10]
cmp dword [eax + 0x14], 2
jle 0x100902bb
mov edi, 0x20
mov ebx, eax
lea esi, [edi - 0x1e]
jmp 0x10090290
mov eax, dword [ebx + 0x10]
mov eax, dword [edi + eax + 4]
mov ecx, dword [eax + 4]
mov ecx, dword [ecx]
call fcn.100db2f0
inc esi
lea edi, [edi + 0x10]
cmp esi, dword [ebx + 0x14]
jl 0x10090290
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x10]
mov edi, str.normal
mov byte [eax + 0x4b], dl
mov eax, dword [ebx + 4]
mov eax, dword [eax + 4]
mov ecx, dword [eax]
call fcn.100db2f0
cmp eax, 1
mov edx, str.exclusive
cmovne edx, edi
mov ecx, esi
call fcn.10092820
jmp case.0x10090047.40
test edx, edx
je 0x1009039d
mov ecx, edx
call fcn.100e9c80
mov edi, eax
xor ebx, ebx
cmp ebx, 6
je 0x1009039d
mov ecx, dword [ebx*4 + 0x10108a80]
test ecx, ecx
je 0x1009039d
push edi
push ecx
push dword [esp + 0x24]
call sym.SQLite.Interop.dll_sqlite3_strnicmp
add esp, 0xc
test eax, eax
je 0x10090322
inc ebx
jmp 0x100902f5
cmp ebx, 0xffffffff
je 0x100903a0
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x14]
dec edi
js 0x10090388
mov edx, edi
shl edx, 4
mov dword [esp + 0x30], edx
mov edi, edi
mov eax, dword [eax + 0x10]
cmp dword [edx + eax + 4], 0
je 0x10090376
cmp edi, dword [esp + 0x18]
je 0x10090356
cmp dword [ecx + 4], 0
jne 0x10090376
mov edx, edi
mov ecx, esi
call fcn.100c7c50
push ebx
push 1
push edi
mov edx, 9
mov ecx, esi
call fcn.100c9000
mov edx, dword [esp + 0x3c]
add esp, 0xc
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x10]
sub edx, 0x10
dec edi
mov dword [esp + 0x30], edx
jns 0x10090340
push 1
push 1
mov edx, 0x4e
mov ecx, esi
call fcn.100c8eb0
jmp 0x10092459
or ebx, 0xffffffff
mov ecx, dword [esp + 0x20]
cmp dword [ecx + 4], 0
jne 0x1009032b
mov dword [esp + 0x18], 0
mov dword [ecx + 4], 1
jmp 0x1009032b
mov eax, dword [ebx + 4]
or ecx, 0xffffffff
mov eax, dword [eax + 4]
mov dword [esp + 0x5c], ecx
mov edi, dword [eax]
mov eax, 0xfffffffe
mov dword [esp + 0x58], eax
test edx, edx
je 0x10090406
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x58]
call fcn.100e8f10
mov ecx, dword [esp + 0x5c]
cmp ecx, 0xffffffff
jg 0x10090402
jl 0x100903fb
mov eax, dword [esp + 0x58]
cmp eax, 0xffffffff
jae 0x10090406
or eax, 0xffffffff
or ecx, eax
jmp 0x10090406
mov eax, dword [esp + 0x58]
push ecx
push eax
mov ecx, edi
call fcn.100db150
push edx
push eax
mov ecx, esi
call fcn.100928b0
add esp, 0x10
jmp case.0x10090047.40
mov edi, dword [ebx + 4]
test edx, edx
jne 0x10090433
mov ecx, edi
call fcn.100d4bb0
jmp 0x1009244f
mov ecx, edx
call fcn.10092b60
mov ebx, eax
mov eax, dword [esp + 0x10]
mov edx, ebx
mov ecx, edi
mov byte [eax + 0x4c], bl
call fcn.100d4bf0
test eax, eax
jne case.0x10090047.40
cmp ebx, 1
je 0x10090462
cmp ebx, 2
jne case.0x10090047.40
mov edi, dword [esi + 0x88]
push ecx
push 0x1010542c
mov edx, 5
mov ecx, esi
call fcn.100c86d0
mov edx, dword [esp + 0x20]
lea ecx, [edi + 4]
mov dword [eax + 0x30], ecx
lea ecx, [ebx - 1]
mov dword [eax + 0x5c], ecx
add esp, 8
mov ecx, esi
mov dword [eax + 4], edx
mov dword [eax + 0x18], edx
mov dword [eax + 0x54], edx
call fcn.100c7c50
jmp case.0x10090047.40
test edx, edx
je 0x100904bf
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x2c]
call fcn.100e8d70
test eax, eax
je 0x100904bf
mov edi, dword [esp + 0x2c]
test edi, edi
jg 0x100904c4
mov edi, 0x7fffffff
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push ebx
xor edx, edx
call fcn.100a0830
add esp, 4
mov edx, 0x43
push 1
push edi
mov ecx, esi
call fcn.100c8eb0
push ebx
mov edx, 0x3c
mov ecx, esi
call fcn.100c8f20
add esp, 0xc
mov edx, 0x4e
push 1
mov ecx, esi
mov edi, eax
call fcn.100c8f20
add esp, 4
mov edx, 0x50
push 0xffffffffffffffff
push 1
mov ecx, esi
call fcn.100c8eb0
push edi
push 1
mov edx, 0x30
mov ecx, esi
call fcn.100c8eb0
add esp, 0x10
mov edx, edi
mov ecx, esi
call fcn.100c8580
jmp case.0x10090047.40
test edx, edx
jne 0x10090548
mov eax, dword [ebx + 0xc]
mov eax, dword [eax + 0x50]
jmp 0x1009244f
mov ecx, edx
call fcn.100e8d40
mov ecx, dword [ebx + 0xc]
mov dword [ecx + 0x50], eax
mov edx, dword [ebx + 0xc]
mov ecx, dword [ebx + 4]
mov edx, dword [edx + 0x50]
call fcn.100d4f50
jmp case.0x10090047.40
test edx, edx
jne 0x10090587
mov eax, dword [esp + 0x10]
test byte [eax + 0x1c], 0x20
je 0x100900f6
mov ecx, dword [ebx + 4]
call fcn.100d4f00
jmp 0x1009244f
mov edi, dword [esp + 0x1c]
lea edx, [esp + 0x30]
mov ecx, edi
mov dword [esp + 0x30], 1
call fcn.100e8d70
mov esi, dword [esp + 0x30]
test eax, eax
je 0x100905b0
mov ecx, dword [ebx + 4]
mov edx, esi
call fcn.100d4f00
test esi, esi
setne dl
mov ecx, edi
call fcn.10092c50
test al, al
mov eax, dword [esp + 0x10]
je 0x100905d4
or dword [eax + 0x1c], 0x20
mov ecx, eax
call fcn.10092790
jmp case.0x10090047.40
and dword [eax + 0x1c], 0xffffffdf
mov ecx, eax
call fcn.10092790
jmp case.0x10090047.40
test edx, edx
je 0x1009067f
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x58]
call fcn.100e8f10
mov eax, dword [esp + 0x5c]
test eax, eax
jg 0x10090620
jl 0x1009060b
mov edx, dword [esp + 0x58]
test edx, edx
jae 0x10090624
mov edx, dword [0x10127378]
mov eax, dword [0x1012737c]
mov dword [esp + 0x58], edx
mov dword [esp + 0x5c], eax
jmp 0x10090624
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x10]
cmp dword [ecx + 4], 0
jne 0x10090638
mov dword [edi + 0x28], edx
mov dword [edi + 0x2c], eax
mov edi, dword [edi + 0x14]
dec edi
js 0x1009067f
mov esi, dword [esp + 0x10]
mov ebx, edi
shl ebx, 4
mov eax, dword [esi + 0x10]
mov eax, dword [ebx + eax + 4]
test eax, eax
je 0x10090675
cmp edi, dword [esp + 0x18]
je 0x1009065e
cmp dword [ecx + 4], 0
jne 0x10090675
push dword [esp + 0x5c]
mov ecx, eax
push edx
call fcn.100d4eb0
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x28]
add esp, 8
sub ebx, 0x10
dec edi
jns 0x10090647
mov esi, dword [esp + 0x54]
lea eax, [esp + 0x58]
push eax
push 0x12
push dword [esp + 0x40]
mov dword [esp + 0x64], 0xffffffff
push dword [esp + 0x1c]
mov dword [esp + 0x6c], 0xffffffff
call sym.SQLite.Interop.dll_sqlite3_file_control
add esp, 0x10
test eax, eax
jne 0x100906b7
push dword [esp + 0x5c]
push dword [esp + 0x5c]
jmp 0x10092452
cmp eax, 0xc
je case.0x10090047.40
mov ecx, dword [esp + 0x14]
inc dword [ecx + 0x24]
mov dword [ecx + 0xc], eax
jmp case.0x10090047.40
test edx, edx
jne 0x100906e0
mov eax, dword [esp + 0x10]
movzx eax, byte [eax + 0x48]
jmp 0x1009244f
mov ecx, dword [esp + 0x14]
call fcn.10092a00
jmp case.0x10090047.40
test edx, edx
jne 0x10090704
mov edx, dword [sym.SQLite.Interop.dll_sqlite3_temp_directory]
mov ecx, esi
call fcn.10092820
jmp case.0x10090047.40
cmp byte [edx], 0
je 0x1009073d
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x2c]
mov eax, dword [eax]
push ecx
push 1
push edx
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x1009072a
cmp dword [esp + 0x2c], eax
jne 0x1009073d
push str.not_a_writable_directory
push dword [esp + 0x18]
call fcn.100e99e0
jmp 0x10092459
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x48], 1
ja 0x10090750
mov ecx, dword [esp + 0x14]
call fcn.10092a70
push dword [sym.SQLite.Interop.dll_sqlite3_temp_directory]
call sym.SQLite.Interop.dll_sqlite3_free
mov eax, dword [esp + 0x20]
add esp, 4
cmp byte [eax], 0
je 0x1009077c
push eax
push 0x100fc3c4
call sym.SQLite.Interop.dll_sqlite3_mprintf
mov dword [sym.SQLite.Interop.dll_sqlite3_temp_directory], eax
jmp 0x10092459
mov dword [sym.SQLite.Interop.dll_sqlite3_temp_directory], 0
jmp case.0x10090047.40
test edx, edx
jne 0x100907a1
mov edx, dword [sym.SQLite.Interop.dll_sqlite3_data_directory]
mov ecx, esi
call fcn.10092820
jmp case.0x10090047.40
cmp byte [edx], 0
je 0x100907cf
mov eax, dword [esp + 0x10]
lea ecx, [esp + 0x2c]
mov eax, dword [eax]
push ecx
push 1
push edx
push eax
mov eax, dword [eax + 0x20]
call eax
add esp, 0x10
test eax, eax
jne 0x1009072a
cmp dword [esp + 0x2c], eax
je 0x1009072a
push dword [sym.SQLite.Interop.dll_sqlite3_data_directory]
call sym.SQLite.Interop.dll_sqlite3_free
mov eax, dword [esp + 0x20]
add esp, 4
cmp byte [eax], 0
je 0x100907fb
push eax
push 0x100fc3c4
call sym.SQLite.Interop.dll_sqlite3_mprintf
mov dword [sym.SQLite.Interop.dll_sqlite3_data_directory], eax
jmp 0x10092459
mov dword [sym.SQLite.Interop.dll_sqlite3_data_directory], 0
jmp case.0x10090047.40
test edx, edx
jne 0x10090818
movzx eax, byte [ebx + 8]
dec eax
jmp 0x1009244f
mov edx, dword [esp + 0x10]
cmp byte [edx + 0x47], 0
jne 0x10090835
push str.Safety_level_may_not_be_changed_inside_a_transaction
push dword [esp + 0x18]
call fcn.100e99e0
jmp 0x10092459
cmp dword [esp + 0x18], 1
je case.0x10090047.40
mov ecx, dword [esp + 0x1c]
push 1
xor edx, edx
call fcn.10092c70
add esp, 4
mov ecx, 1
mov byte [ebx + 9], cl
inc eax
and eax, 7
cmove eax, ecx
mov ecx, dword [esp + 0x10]
mov byte [ebx + 8], al
call fcn.10092790
jmp case.0x10090047.40
test edx, edx
jne 0x10090896
mov edx, eax
mov ecx, esi
call fcn.10092960
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 8]
mov ecx, dword [esp + 0x10]
and eax, dword [ecx + 0x1c]
neg eax
sbb eax, eax
neg eax
jmp 0x1009244f
mov edi, dword [eax + 8]
mov eax, dword [esp + 0x10]
cmp byte [eax + 0x47], 0
jne 0x100908a9
and edi, 0xffffbfff
mov ecx, dword [esp + 0x1c]
xor dl, dl
call fcn.10092c50
test al, al
je 0x100908c1
mov eax, dword [esp + 0x10]
or dword [eax + 0x1c], edi
jmp 0x100908e8
mov ecx, dword [esp + 0x10]
mov eax, edi
not eax
and dword [ecx + 0x1c], eax
cmp edi, 0x80000
jne 0x100908e8
mov dword [ecx + 0x1d0], 0
mov dword [ecx + 0x1d4], 0
mov edx, 0x97
mov ecx, esi
call fcn.100c8f90
mov ecx, dword [esp + 0x10]
call fcn.10092790
jmp case.0x10090047.40
test edx, edx
je case.0x10090047.40
push dword [esp + 0x38]
mov edi, dword [esp + 0x18]
push edx
mov edx, 2
mov ecx, edi
call fcn.100a6780
mov ebx, eax
add esp, 8
mov dword [esp + 0x50], ebx
test ebx, ebx
je case.0x10090047.40
mov ecx, ebx
mov dword [esp + 0x24], 0
call fcn.100a5960
mov edx, dword [esp + 0x18]
mov ecx, edi
mov dword [esp + 0x30], eax
mov dword [edi + 0x2c], 6
call fcn.100a0960
mov edx, ebx
mov ecx, edi
call fcn.100a36b0
mov ecx, dword [ebx + 4]
movsx ebx, word [ebx + 0x2a]
xor edi, edi
mov dword [esp + 0x28], ecx
test ebx, ebx
jle case.0x10090047.40
mov al, byte [ecx + 0xf]
mov byte [esp + 0x43], al
test al, 2
je 0x10090987
inc dword [esp + 0x24]
jmp 0x10090a2e
test al, 1
jne 0x1009098f
xor edx, edx
jmp 0x100909bd
cmp dword [esp + 0x30], 0
mov edx, 1
je 0x100909bd
cmp ebx, edx
jl 0x100909bd
mov eax, dword [esp + 0x30]
mov ecx, dword [eax + 4]
movsx eax, word [ecx]
cmp eax, edi
je 0x100909b5
inc edx
add ecx, 2
cmp edx, ebx
jle 0x100909a6
mov ecx, dword [esp + 0x28]
mov al, byte [esp + 0x43]
mov ebx, dword [ecx + 4]
test ebx, ebx
je 0x100909cd
mov ebx, dword [ebx + 8]
mov dword [esp + 0x34], ebx
jmp 0x100909d5
mov dword [esp + 0x34], 0
test al, 4
jne 0x100909e0
mov ebx, 0x100fb600
jmp 0x10090a02
mov ebx, dword [ecx]
mov ecx, ebx
lea eax, [ecx + 1]
mov dword [esp + 0x2c], eax
jmp 0x100909f0
mov al, byte [ecx]
inc ecx
test al, al
jne 0x100909f0
sub ecx, dword [esp + 0x2c]
inc ecx
add ebx, ecx
mov ecx, dword [esp + 0x28]
xor eax, eax
cmp byte [ecx + 0xc], al
push edx
push dword [esp + 0x38]
setne al
push eax
push ebx
push dword [ecx]
mov eax, edi
sub eax, dword [esp + 0x38]
push eax
push str.issisi
push 1
push esi
call fcn.100c8c50
mov ecx, dword [esp + 0x4c]
add esp, 0x24
mov eax, dword [esp + 0x50]
inc edi
movsx ebx, word [eax + 0x2a]
add ecx, 0x10
mov dword [esp + 0x28], ecx
cmp edi, ebx
jl 0x10090973
jmp case.0x10090047.40
test edx, edx
je case.0x10090047.40
push dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
call fcn.100a6650
mov ebx, eax
add esp, 4
test ebx, ebx
je case.0x10090047.40
mov ecx, dword [esp + 0x3c]
cmp dword [ecx + 8], 0
je 0x10090a8c
movzx eax, word [ebx + 0x34]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], 6
jmp 0x10090a9f
movzx eax, word [ebx + 0x32]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x14]
mov dword [eax + 0x2c], 3
mov eax, dword [ebx + 0xc]
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x2c], eax
call fcn.100a0960
xor edi, edi
cmp dword [esp + 0x24], edi
jle case.0x10090047.40
nop
mov eax, dword [ebx + 4]
movzx edx, word [eax + edi*2]
test dx, dx
jns 0x10090ad0
xor eax, eax
jmp 0x10090adf
mov eax, dword [esp + 0x2c]
movsx ecx, dx
mov eax, dword [eax + 4]
add ecx, ecx
mov eax, dword [eax + ecx*8]
push eax
movsx eax, dx
push eax
push edi
push str.iisX
push 1
push esi
call fcn.100c8c50
mov eax, dword [esp + 0x54]
add esp, 0x18
cmp dword [eax + 8], 0
je 0x10090b29
movzx eax, word [ebx + 0x32]
xor ecx, ecx
cmp edi, eax
mov eax, dword [ebx + 0x20]
setl cl
push ecx
push dword [eax + edi*4]
mov eax, dword [ebx + 0x1c]
movzx eax, byte [eax + edi]
push eax
push str.isiX
push 4
push esi
call fcn.100c8c50
add esp, 0x18
mov eax, dword [esp + 0x14]
mov edx, 0x4e
push dword [eax + 0x2c]
mov ecx, esi
push 1
call fcn.100c8eb0
inc edi
add esp, 8
cmp edi, dword [esp + 0x24]
jl 0x10090ac0
jmp case.0x10090047.40
test edx, edx
je case.0x10090047.40
push dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
call fcn.100a68a0
mov edi, eax
add esp, 4
test edi, edi
je case.0x10090047.40
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, eax
mov dword [eax + 0x2c], 5
call fcn.100a0960
mov edi, dword [edi + 8]
xor ebx, ebx
test edi, edi
je case.0x10090047.40
mov dword [esp + 0x58], 0x100ff1bc
mov dword [esp + 0x5c], 0x100ff1c0
mov dword [esp + 0x60], 0x100feb98
mov edi, edi
xor eax, eax
cmp dword [edi + 0x24], eax
setne al
push eax
mov eax, dword [edi + 0x38]
and eax, 3
push dword [esp + eax*4 + 0x5c]
xor eax, eax
cmp byte [edi + 0x36], al
setne al
push eax
push dword [edi]
push ebx
push str.isisi
push 1
push esi
call fcn.100c8c50
mov edi, dword [edi + 0x14]
add esp, 0x20
inc ebx
test edi, edi
jne 0x10090bb0
jmp case.0x10090047.40
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
xor edi, edi
mov dword [eax + 0x2c], 3
cmp dword [edx + 0x14], edi
jle case.0x10090047.40
xor ebx, ebx
jmp 0x10090c10
mov edx, dword [edx + 0x10]
mov ecx, dword [edx + ebx + 4]
test ecx, ecx
je 0x10090c35
call fcn.100cce20
push eax
push dword [edx + ebx]
push edi
push 0x100ff1cc
push 1
push esi
call fcn.100c8c50
add esp, 0x18
mov edx, dword [esp + 0x10]
inc edi
add ebx, 0x10
cmp edi, dword [edx + 0x14]
jl 0x10090c10
jmp case.0x10090047.40
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
mov dword [eax + 0x2c], 2
mov edi, dword [edx + 0x184]
xor ebx, ebx
test edi, edi
je case.0x10090047.40
mov eax, dword [edi + 8]
push dword [eax]
push ebx
push 0x100ff1d0
push 1
push esi
call fcn.100c8c50
mov edi, dword [edi]
add esp, 0x14
inc ebx
test edi, edi
jne 0x10090c66
jmp case.0x10090047.40
test edx, edx
je case.0x10090047.40
push dword [esp + 0x38]
mov ecx, dword [esp + 0x14]
call fcn.100a68a0
add esp, 4
mov dword [esp + 0x2c], eax
test eax, eax
je case.0x10090047.40
mov edi, dword [eax + 0x10]
test edi, edi
je case.0x10090047.40
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov ecx, eax
mov dword [esp + 0x24], 0
mov dword [eax + 0x2c], 8
call fcn.100a0960
xor eax, eax
xor ebx, ebx
cmp dword [edi + 0x14], ebx
jle 0x10090d45
lea edx, [edi + 0x24]
mov dword [esp + 0x30], edx
jmp 0x10090cf0
mov cl, byte [edi + 0x19]
push str.NONE
call fcn.10092750
mov cl, byte [edi + 0x1a]
push eax
call fcn.10092750
mov ecx, dword [edx]
push eax
push dword [edx + 4]
mov eax, dword [esp + 0x3c]
add ecx, ecx
mov eax, dword [eax + 4]
push dword [eax + ecx*8]
push dword [edi + 8]
push ebx
push dword [esp + 0x40]
push str.iissssss
push 1
push esi
call fcn.100c8c50
mov edx, dword [esp + 0x5c]
inc ebx
add edx, 8
add esp, 0x2c
mov dword [esp + 0x30], edx
cmp ebx, dword [edi + 0x14]
jl 0x10090cf0
mov eax, dword [esp + 0x24]
mov edi, dword [edi + 4]
inc eax
mov dword [esp + 0x24], eax
test edi, edi
jne 0x10090cd7
jmp case.0x10090047.40
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [eax + 0x2c]
lea ecx, [eax + 1]
mov dword [esp + 0x3c], ecx
lea ecx, [eax + 5]
lea ebx, [eax + 6]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x2c], ecx
mov ecx, eax
mov dword [esp + 0x24], ebx
mov dword [eax + 0x2c], ebx
call fcn.100a0960
mov edx, dword [esp + 0x10]
mov eax, dword [edx + 0x10]
mov eax, dword [edi + eax + 0xc]
mov eax, dword [eax + 0x10]
test eax, eax
je case.0x10090047.40
lea ebx, [ebx]
mov ecx, dword [esp + 0x1c]
test ecx, ecx
je 0x10090dc1
push dword [esp + 0x38]
xor edx, edx
push ecx
mov ecx, dword [esp + 0x1c]
call fcn.100a6780
add esp, 8
mov edi, eax
xor eax, eax
jmp 0x10090dc6
mov edi, dword [eax + 8]
mov eax, dword [eax]
mov dword [esp + 0x48], eax
mov dword [esp + 0x68], edi
test edi, edi
je 0x1009111d
cmp dword [edi + 0x10], 0
je 0x1009111d
push dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0
push dword [edi + 0x1c]
call fcn.100a6f40
movsx eax, word [edi + 0x2a]
mov ecx, dword [esp + 0x20]
add eax, ebx
add esp, 0xc
cmp eax, dword [ecx + 0x2c]
jle 0x10090e09
mov dword [ecx + 0x2c], eax
push 0x68
push edi
push dword [esp + 0x20]
xor edx, edx
call fcn.10097b90
mov edx, dword [esp + 0x48]
add esp, 0xc
push dword [edi]
mov ecx, esi
call fcn.100c8e20
mov ebx, dword [edi + 0x10]
add esp, 4
mov eax, 1
mov dword [esp + 0x28], eax
test ebx, ebx
je 0x10090efa
mov edi, edi
push dword [esp + 0x38]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.100a68a0
mov edi, eax
add esp, 4
test edi, edi
je 0x10090ee2
push dword [edi]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
push 0
push dword [edi + 0x1c]
mov dword [esp + 0x50], 0
call fcn.100a6f40
mov ecx, dword [esp + 0x20]
add esp, 0xc
lea eax, [esp + 0x44]
push 0
push eax
push ebx
mov edx, edi
call fcn.1009a380
add esp, 0xc
test eax, eax
jne case.0x10090047.40
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x10090ebb
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x14]
push 0x68
push edi
push dword [esp + 0x20]
call fcn.10097b90
add esp, 0xc
jmp 0x10090ee2
push dword [esp + 0x18]
mov edx, 0x68
push dword [eax + 0x2c]
mov ecx, esi
push dword [esp + 0x30]
call fcn.100c9000
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x20]
add esp, 0xc
call fcn.100c8020
mov eax, dword [esp + 0x28]
mov ebx, dword [ebx + 4]
inc eax
mov dword [esp + 0x28], eax
test ebx, ebx
jne 0x10090e40
mov edi, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
cmp dword [ecx + 0x28], eax
jge 0x10090f06
mov dword [ecx + 0x28], eax
push 0
mov edx, 0x25
mov ecx, esi
call fcn.100c8f20
mov ebx, dword [edi + 0x10]
add esp, 4
mov dword [esp + 0x4c], eax
mov dword [esp + 0x20], 1
mov dword [esp + 0x54], ebx
test ebx, ebx
je 0x100910f7
push dword [esp + 0x38]
mov edx, dword [ebx + 8]
mov ecx, dword [esp + 0x14]
call fcn.100a68a0
add esp, 4
mov dword [esp + 0x50], eax
mov dword [esp + 0x44], 0
mov dword [esp + 0x34], 0
test eax, eax
je 0x10090f76
lea ecx, [esp + 0x34]
push ecx
lea ecx, [esp + 0x48]
push ecx
mov ecx, dword [esp + 0x1c]
push ebx
mov edx, eax
call fcn.1009a380
add esp, 0xc
mov ecx, esi
call fcn.100c89b0
xor edi, edi
mov dword [esp + 0x28], eax
cmp dword [ebx + 0x14], edi
jle 0x10090fe4
mov ecx, dword [esp + 0x54]
mov ebx, dword [esp + 0x24]
add ecx, 0x24
mov dword [esp + 0x30], ecx
mov eax, dword [esp + 0x34]
test eax, eax
je 0x10090fa4
mov eax, dword [eax + edi*4]
jmp 0x10090fa6
mov eax, dword [ecx]
mov edx, dword [esp + 0x68]
push ebx
push eax
push 0
mov ecx, esi
call fcn.100af330
add esp, 0xc
mov edx, 0x32
push dword [esp + 0x28]
mov ecx, esi
push ebx
call fcn.100c8eb0
mov ecx, dword [esp + 0x38]
mov eax, dword [esp + 0x5c]
inc edi
add ecx, 8
add esp, 8
inc ebx
mov dword [esp + 0x30], ecx
cmp edi, dword [eax + 0x14]
jl 0x10090f97
mov ebx, eax
mov edx, dword [esp + 0x44]
test edx, edx
je 0x10091035
push dword [ebx + 0x14]
push ecx
mov ecx, dword [esp + 0x18]
call fcn.10097aa0
mov edi, dword [esp + 0x34]
add esp, 4
mov edx, 0x63
push eax
push edi
push dword [ebx + 0x14]
mov ecx, esi
push dword [esp + 0x34]
call fcn.100c8bd0
add esp, 0x14
mov edx, 0x1e
push 0
push edi
mov edi, dword [esp + 0x30]
push edi
push dword [esp + 0x2c]
mov ecx, esi
call fcn.100c8a80
add esp, 0x10
jmp 0x10091070
cmp dword [esp + 0x50], 0
je 0x1009106c
mov eax, dword [esi + 0x88]
push dword [esp + 0x24]
add eax, 2
push eax
push dword [esp + 0x28]
mov edx, 0x1f
mov ecx, esi
call fcn.100c9000
mov edi, dword [esp + 0x34]
add esp, 0xc
mov edx, edi
mov ecx, esi
call fcn.100c8e40
jmp 0x10091070
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x68]
mov ecx, esi
test byte [eax + 0x24], 0x20
mov eax, dword [esp + 0x3c]
mov edx, 0x7b
je 0x1009108a
mov edx, 0x46
inc eax
push eax
push 0
call fcn.100c8eb0
mov eax, dword [esp + 0x28]
add esp, 8
dec eax
push eax
push dword [ebx + 8]
mov eax, dword [esp + 0x44]
push 0x100ff1e8
add eax, 2
push eax
push esi
call fcn.100c8c50
add esp, 0x14
mov edx, 0x4e
push 4
push dword [esp + 0x40]
mov ecx, esi
call fcn.100c8eb0
add esp, 8
mov edx, edi
mov ecx, esi
call fcn.100c8990
mov edx, dword [esp + 0x34]
mov ecx, dword [esp + 0x10]
call fcn.100ecb90
mov ebx, dword [ebx + 4]
inc dword [esp + 0x20]
mov dword [esp + 0x54], ebx
test ebx, ebx
jne 0x10090f32
mov eax, dword [esp + 0x4c]
inc eax
push eax
push 0
mov edx, 7
mov ecx, esi
call fcn.100c8eb0
mov edx, dword [esp + 0x54]
add esp, 8
mov ecx, esi
call fcn.100c8580
mov ebx, dword [esp + 0x24]
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x10090da0
jmp case.0x10090047.40
test edx, edx
je case.0x10090047.40
mov ecx, dword [esp + 0x1c]
xor dl, dl
call fcn.10092c50
mov ecx, dword [esp + 0x10]
movzx edx, al
call fcn.1009a720
jmp case.0x10090047.40
mov eax, dword [esp + 0x6c]
mov edi, dword [esp + 0x14]
movzx eax, byte [eax]
xor ecx, ecx
cmp byte [eax + 0x10105440], 0x71
mov eax, dword [esp + 0x20]
sete cl
mov ebx, 0x64
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x48], ebx
mov dword [esp + 0x74], ecx
or ecx, 0xffffffff
cmp dword [eax], 0
mov eax, dword [esp + 0x18]
cmove eax, ecx
mov dword [esp + 0x18], eax
mov dword [edi + 0x2c], 6
test edx, edx
je 0x100911b5
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x48]
call fcn.100e8d70
mov ebx, dword [esp + 0x48]
test ebx, ebx
mov eax, 0x64
cmovle ebx, eax
mov dword [esp + 0x2c], ebx
lea eax, [ebx - 1]
push 1
push eax
mov edx, 0x43
mov ecx, esi
call fcn.100c8eb0
mov eax, dword [esp + 0x18]
xor edx, edx
add esp, 8
mov dword [esp + 0x28], edx
cmp dword [eax + 0x14], edx
jle 0x10091e13
mov ecx, dword [esp + 0x18]
xor ebx, ebx
mov dword [esp + 0x48], ebx
test ecx, ecx
js 0x100911f3
cmp edx, ecx
jne 0x10091e01
mov ecx, edi
call fcn.100a0960
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x28]
mov eax, dword [eax + 0x10]
shl ecx, 4
xor edx, edx
mov eax, dword [ecx + eax + 0xc]
add eax, 8
mov dword [esp + 0x50], ecx
mov edi, dword [eax + 8]
mov dword [esp + 0x4c], eax
test edi, edi
je 0x1009124b
mov eax, dword [edi + 8]
test byte [eax + 0x24], 0x20
jne 0x1009122a
inc edx
mov eax, dword [eax + 8]
xor ecx, ecx
test eax, eax
je 0x1009123c
mov eax, dword [eax + 0x14]
inc edx
inc ecx
test eax, eax
jne 0x10091233
mov edi, dword [edi]
cmp ecx, ebx
cmovg ebx, ecx
test edi, edi
jne 0x10091220
mov dword [esp + 0x48], ebx
mov ecx, dword [esp + 0x10]
lea eax, [edx*4 + 4]
push 0
push eax
call fcn.100ec7e0
mov edi, eax
add esp, 8
test edi, edi
je 0x10091e0f
mov ebx, dword [esp + 0x4c]
xor edx, edx
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x100912ab
jmp 0x10091280
mov ecx, dword [ebx + 8]
test byte [ecx + 0x24], 0x20
jne 0x10091290
mov eax, dword [ecx + 0x1c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 8]
test ecx, ecx
je 0x100912a5
mov eax, dword [ecx + 0x2c]
inc edx
mov dword [edi + edx*4], eax
mov ecx, dword [ecx + 0x14]
test ecx, ecx
jne 0x10091297
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10091280
mov ebx, dword [esp + 0x14]
mov ecx, dword [esp + 0x48]
mov dword [edi], edx
add ecx, 8
cmp dword [ebx + 0x2c], ecx
push 0xfffffffffffffff1
cmovg ecx, dword [ebx + 0x2c]
push edi
push 1
push edx
mov dword [ebx + 0x2c], ecx
push 2
mov edx, 0x8e
mov ecx, esi
mov byte [ebx + 0x13], 0
mov dword [ebx + 0x1c], 0
call fcn.100c8bd0
mov eax, dword [esp + 0x3c]
movzx edx, al
add esp, 0x14
mov ecx, esi
call fcn.100c85b0
push 2
mov edx, 0x32
call fcn.100c8f20
mov edx, dword [esp + 0x14]
add esp, 4
mov edi, eax
mov eax, dword [esp + 0x50]
push 0xfffffffffffffff9
push ecx
mov ecx, dword [edx + 0x10]
push dword [eax + ecx]
push str._in_database__s__n
push edx
call fcn.100eaab0
add esp, 0x10
mov edx, 0x61
push eax
push 0
push 3
push 0
mov ecx, esi
call fcn.100c8bd0
add esp, 0x14
mov edx, 0x5d
push 3
push 3
push 2
mov ecx, esi
call fcn.100c9000
add esp, 0xc
mov ecx, esi
call fcn.10092540
mov edx, edi
mov ecx, esi
call fcn.100c8580
mov eax, dword [esp + 0x4c]
mov ebx, dword [eax + 8]
mov dword [esp + 0x50], ebx
test ebx, ebx
je 0x10091df1
mov ebx, dword [ebx + 8]
mov dword [esp + 0x44], ebx
cmp dword [ebx + 0x1c], 1
mov dword [esp + 0x70], 0
mov dword [esp + 0x68], 0xffffffff
jl 0x10091ddf
test byte [ebx + 0x24], 0x20
jne 0x100913a1
mov dword [esp + 0x24], 0
jmp 0x100913ac
mov ecx, ebx
call fcn.100a5960
mov dword [esp + 0x24], eax
mov ecx, dword [esp + 0x14]
call fcn.100af180
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x40]
push eax
push 0
push 1
push 0
push 0x68
mov edx, ebx
call fcn.10094390
push 7
push 0
mov edx, 0x43
mov ecx, esi
call fcn.100c8eb0
mov edi, dword [ebx + 8]
add esp, 0x20
test edi, edi
je 0x1009140a
mov ebx, 8
lea ecx, [ecx]
push ebx
push 0
mov edx, 0x43
mov ecx, esi
call fcn.100c8eb0
mov edi, dword [edi + 0x14]
add esp, 8
inc ebx
test edi, edi
jne 0x100913f0
push 0
push dword [esp + 0x40]
mov edx, 0x25
mov ecx, esi
call fcn.100c8eb0
push 1
push 7
mov edx, 0x50
mov ecx, esi
call fcn.100c8eb0
mov edi, dword [esp + 0x54]
mov dword [esp + 0x68], eax
xor eax, eax
add esp, 0x10
xor ebx, ebx
cmp ax, word [edi + 0x2a]
jge 0x100914fc
xor ecx, ecx
mov dword [esp + 0x34], ecx
jmp 0x10091450
movsx eax, word [edi + 0x28]
cmp ebx, eax
je 0x100914e8
mov eax, dword [edi + 4]
cmp byte [ecx + eax + 0xc], 0
je 0x100914e8
push 3
push ebx
push dword [esp + 0x44]
mov edx, edi
mov ecx, esi
call fcn.100af330
add esp, 0xc
mov edx, 0x80
mov ecx, esi
call fcn.100c85b0
push 3
mov edx, 0x33
call fcn.100c8f20
mov edx, dword [esp + 0x48]
add esp, 4
mov ecx, dword [edx + 4]
mov edi, eax
mov eax, dword [esp + 0x34]
push dword [eax + ecx]
push dword [edx]
push str.NULL_value_in__s._s
push dword [esp + 0x1c]
call fcn.100eaab0
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
mov edx, 0x61
mov ecx, esi
call fcn.100c8bd0
add esp, 0x24
mov ecx, esi
call fcn.10092540
mov edx, edi
mov ecx, esi
call fcn.100c8580
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x44]
movsx eax, word [edi + 0x2a]
inc ebx
add ecx, 0x10
mov dword [esp + 0x34], ecx
cmp ebx, eax
jl 0x10091450
mov edx, dword [edi + 0x18]
test edx, edx
je 0x10091643
mov ebx, dword [esp + 0x10]
test dword [ebx + 0x1c], 0x200
jne 0x10091643
push 0
mov ecx, ebx
call fcn.100b2ed0
add esp, 4
cmp byte [ebx + 0x49], 0
mov edi, eax
mov dword [esp + 0x4c], edi
jne 0x10091632
mov ecx, esi
call fcn.100c89b0
mov ebx, eax
mov ecx, esi
mov dword [esp + 0x48], ebx
call fcn.100c89b0
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x14]
inc ecx
inc dword [edx + 0x3c]
mov dword [edx + 0x38], ecx
mov edi, dword [edi]
dec edi
mov dword [esp + 0x34], eax
test edi, edi
jle 0x10091599
mov ebx, dword [esp + 0x4c]
mov esi, dword [esp + 0x48]
lea eax, [edi + edi*2]
add ebx, 4
lea ebx, [ebx + eax*8]
push 0
push esi
push dword [ebx]
push edx
call fcn.100ad3e0
mov edx, dword [esp + 0x24]
dec edi
add esp, 0x10
lea ebx, [ebx - 0x18]
test edi, edi
jg 0x10091573
mov esi, dword [esp + 0x54]
mov ebx, dword [esp + 0x48]
mov eax, dword [esp + 0x34]
mov edi, dword [esp + 0x4c]
push 0x10
push eax
push dword [edi + 4]
push edx
call fcn.100ad710
mov eax, dword [esi + 0xc]
add esp, 0x10
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x100915c7
lea eax, [ebx*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x44]
mov dword [ebx + 0x38], 0
push dword [eax]
push str.CHECK_constraint_failed_in__s
push dword [esp + 0x18]
call fcn.100eaab0
add esp, 0xc
mov edx, 0x61
push 0xfffffffffffffff9
push eax
push 0
push 3
push 0
mov ecx, esi
call fcn.100c8bd0
add esp, 0x14
mov ecx, esi
call fcn.10092540
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x10091627
mov eax, dword [esp + 0x34]
lea eax, [eax*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
mov ecx, ebx
call fcn.100af500
mov ebx, dword [esp + 0x10]
test edi, edi
je 0x1009163f
mov edx, edi
mov ecx, ebx
call fcn.100b24b0
mov edi, dword [esp + 0x44]
mov ebx, dword [esp + 0x74]
test ebx, ebx
jne 0x10091b3b
movsx eax, word [edi + 0x2a]
push 3
dec eax
push eax
push dword [esp + 0x44]
lea edx, [ebx + 0x60]
mov ecx, esi
call fcn.100c9000
mov eax, dword [esi + 0x88]
add esp, 0xc
test eax, eax
jle 0x10091682
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
mov edx, 0x80
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [edi + 8]
mov dword [esp + 0x20], eax
test eax, eax
je 0x10091b3b
mov ecx, dword [esp + 0x30]
mov eax, 8
sub eax, ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x48], eax
mov edi, dword [esi + 0xc]
mov ebx, dword [edi + 0x44]
lea eax, [ebx + 1]
mov dword [edi + 0x44], eax
lea eax, [ebx - 1]
test ebx, eax
jne 0x100916d5
mov edx, dword [edi + 0x48]
mov ecx, dword [edi]
lea eax, [ebx*8 + 4]
push 0
push eax
call fcn.100ec600
mov ecx, dword [esp + 0x40]
add esp, 8
mov dword [edi + 0x48], eax
mov eax, dword [edi + 0x48]
test eax, eax
je 0x100916e3
mov dword [eax + ebx*4], 0xffffffff
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x24], edi
je 0x10091b23
push dword [esp + 0x68]
mov ecx, dword [esp + 0x18]
push dword [esp + 0x74]
lea eax, [esp + 0x90]
push eax
push 0
push 0
push dword [esp + 0x50]
mov edx, edi
call fcn.1009dbd0
mov ecx, dword [esp + 0x50]
add ecx, dword [esp + 0x60]
push 1
push ecx
mov edx, 0x50
mov ecx, esi
mov dword [esp + 0x88], eax
mov dword [esp + 0x90], edi
call fcn.100c8eb0
movzx ecx, word [edi + 0x34]
push ecx
push dword [esp + 0x8c]
or eax, 0xffffffff
sub eax, ebx
push eax
push dword [esp + 0x64]
mov edx, 0x1e
mov ecx, esi
call fcn.100c8a80
mov ecx, dword [esi + 0xc]
mov edx, dword [esi + 0x88]
add esp, 0x30
mov edi, eax
cmp dword [ecx + 0x30], edx
jg 0x10091787
push 0
push 3
push 0
mov edx, 0x61
mov ecx, esi
call fcn.100c9070
add esp, 0xc
mov edx, eax
jmp 0x100917bd
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
je 0x100917d6
push str.row
xor edx, edx
call fcn.100c8350
add esp, 4
jmp 0x100917fb
test edx, edx
jns 0x100917e1
mov edx, dword [esi + 0x88]
dec edx
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
push 0
lea edx, [eax + ecx*4]
push str.row
mov ecx, esi
call fcn.100c8130
add esp, 8
push 3
push 3
push 7
mov edx, 0x5d
mov ecx, esi
call fcn.100c9000
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x88]
add esp, 0xc
cmp dword [eax + 0x30], edx
jg 0x10091837
push 0
push 4
push 0
mov edx, 0x61
mov ecx, esi
call fcn.100c9070
add esp, 0xc
mov edx, eax
jmp 0x1009186d
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 4
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
je 0x10091886
push str._missing_from_index
xor edx, edx
call fcn.100c8350
add esp, 4
jmp 0x100918ab
test edx, edx
jns 0x10091891
mov edx, dword [esi + 0x88]
dec edx
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
push 0
lea edx, [eax + ecx*4]
push str._missing_from_index
mov ecx, esi
call fcn.100c8130
add esp, 8
push 3
push 3
push 4
mov edx, 0x5d
mov ecx, esi
call fcn.100c9000
mov ebx, dword [esp + 0x2c]
add esp, 0xc
mov edx, 0x61
push 0
push dword [ebx]
mov ecx, esi
push 0
push 4
push 0
call fcn.100c8bd0
add esp, 0x14
mov edx, 0x5d
push 3
push 3
push 4
mov ecx, esi
mov dword [esp + 0x58], eax
call fcn.100c9000
add esp, 0xc
mov ecx, esi
call fcn.10092540
mov edx, dword [esi + 0x88]
mov dword [esp + 0x34], eax
test edi, edi
jns 0x1009190e
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x1009191d
mov eax, 0x1012875c
jmp 0x10091926
mov eax, dword [esi + 0x58]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
cmp byte [ebx + 0x36], 0
je 0x10091abb
mov ecx, esi
call fcn.100c89b0
mov ebx, eax
mov eax, dword [esp + 0x20]
xor ecx, ecx
xor edi, edi
cmp cx, word [eax + 0x32]
jae 0x10091993
jmp 0x10091954
mov eax, dword [esp + 0x20]
mov eax, dword [eax + 4]
movsx ecx, word [eax + edi*2]
test ecx, ecx
js 0x1009196f
mov eax, dword [esp + 0x44]
add ecx, ecx
mov eax, dword [eax + 4]
cmp byte [eax + ecx*8 + 0xc], 0
jne 0x10091986
mov eax, dword [esp + 0x68]
add eax, edi
push ebx
push eax
mov edx, 0x32
mov ecx, esi
call fcn.100c8eb0
add esp, 8
mov eax, dword [esp + 0x20]
inc edi
movzx eax, word [eax + 0x32]
cmp edi, eax
jl 0x10091950
push dword [esp + 0x38]
mov edx, 7
mov ecx, esi
call fcn.100c8f20
add esp, 4
mov edx, ebx
mov ecx, esi
mov edi, eax
call fcn.100c8e40
mov edx, dword [esi + 0x88]
test edi, edi
jns 0x100919be
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x100919cd
mov eax, 0x1012875c
jmp 0x100919d6
mov eax, dword [esi + 0x58]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x20]
mov edx, 0x27
movzx eax, word [eax + 0x32]
push eax
push dword [esp + 0x6c]
mov ecx, esi
push ebx
push dword [esp + 0x44]
call fcn.100c8a80
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x88]
add esp, 0x10
cmp dword [eax + 0x30], edx
jg 0x10091a21
push 0
push 3
push 0
mov edx, 0x61
mov ecx, esi
call fcn.100c9070
add esp, 0xc
mov edx, eax
jmp 0x10091a57
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 3
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
je 0x10091a70
push str.non_unique_entry_in_index
xor edx, edx
call fcn.100c8350
add esp, 4
jmp 0x10091a95
test edx, edx
jns 0x10091a7b
mov edx, dword [esi + 0x88]
dec edx
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
push 0
lea edx, [eax + ecx*4]
push str.non_unique_entry_in_index
mov ecx, esi
call fcn.100c8130
add esp, 8
mov edx, dword [esp + 0x4c]
mov ecx, esi
call fcn.100c8e40
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x10091abb
lea eax, [ebx*4 + 4]
sub ecx, eax
mov eax, dword [esi + 0x88]
mov dword [ecx], eax
mov ecx, dword [esp + 0x34]
mov edx, dword [esi + 0x88]
test ecx, ecx
jns 0x10091acc
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x10091adb
mov eax, 0x1012875c
jmp 0x10091ae4
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov edi, dword [esp + 0x88]
mov dword [eax + 8], edx
test edi, edi
je 0x10091b1b
mov ebx, dword [esp + 0x14]
mov edx, dword [ebx + 8]
mov eax, dword [edx + 0xc]
mov ecx, dword [eax + 0x48]
test ecx, ecx
je 0x10091b14
lea eax, [edi*4 + 4]
sub ecx, eax
mov eax, dword [edx + 0x88]
mov dword [ecx], eax
mov ecx, ebx
call fcn.100af500
mov ecx, dword [esp + 0x38]
mov edi, dword [esp + 0x20]
mov edi, dword [edi + 0x14]
inc ecx
mov dword [esp + 0x20], edi
mov dword [esp + 0x38], ecx
test edi, edi
jne 0x100916a4
mov ebx, dword [esp + 0x74]
mov edi, dword [esp + 0x58]
push edi
push dword [esp + 0x40]
mov edx, 7
mov ecx, esi
call fcn.100c8eb0
mov edx, dword [esi + 0x88]
lea ecx, [edi - 1]
add esp, 8
test ecx, ecx
jns 0x10091b63
lea ecx, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x10091b72
mov eax, 0x1012875c
jmp 0x10091b7b
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea eax, [eax + ecx*4]
mov dword [eax + 8], edx
test ebx, ebx
jne 0x10091ddf
mov eax, dword [esi + 0xc]
mov edx, dword [esi + 0x88]
cmp dword [eax + 0x30], edx
jg 0x10091ba9
push ebx
push 2
push ebx
lea edx, [ebx + 0x61]
mov ecx, esi
call fcn.100c9070
add esp, 0xc
mov edx, eax
jmp 0x10091bdf
lea eax, [edx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
mov dword [eax + ecx*4], 0x61
mov dword [eax + ecx*4 + 4], 0
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 0
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, dword [esi]
cmp byte [ecx + 0x49], 0
je 0x10091bf8
push str.wrong__of_entries_in_index
xor edx, edx
call fcn.100c8350
add esp, 4
jmp 0x10091c1d
test edx, edx
jns 0x10091c03
mov edx, dword [esi + 0x88]
dec edx
mov eax, dword [esi + 0x58]
lea ecx, [edx + edx*4]
push 0
lea edx, [eax + ecx*4]
push str.wrong__of_entries_in_index
mov ecx, esi
call fcn.100c8130
add esp, 8
mov eax, dword [esp + 0x44]
mov eax, dword [eax + 8]
mov dword [esp + 0x34], eax
test eax, eax
je 0x10091ddf
mov ecx, dword [esp + 0x24]
mov ebx, 8
lea esp, [esp]
cmp ecx, eax
je 0x10091dcf
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
cmp dword [eax + 0x30], ecx
jg 0x10091c75
mov eax, dword [esp + 0x30]
push 0
add eax, 0xfffffff8
add eax, ebx
push 3
push eax
mov edx, 0x64
mov ecx, esi
call fcn.100c9070
add esp, 0xc
jmp 0x10091cae
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
lea ecx, [eax + ecx*4]
mov eax, dword [esp + 0x30]
add eax, 0xfffffff8
add eax, ebx
mov dword [ecx], 0x64
mov dword [ecx + 4], eax
mov dword [ecx + 8], 3
mov dword [ecx + 0xc], 0
mov dword [ecx + 0x10], 0
mov eax, dword [esi + 0xc]
mov edi, dword [esi + 0x88]
cmp dword [eax + 0x30], edi
jg 0x10091cd4
push 3
push 0
push ebx
mov edx, 0x35
mov ecx, esi
call fcn.100c9070
add esp, 0xc
mov edi, eax
jmp 0x10091d06
lea eax, [edi + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea ecx, [edi + edi*4]
mov dword [eax + ecx*4], 0x35
mov dword [eax + ecx*4 + 4], ebx
mov dword [eax + ecx*4 + 8], 0
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov eax, dword [esi + 0x88]
test eax, eax
jle 0x10091d20
lea ecx, [eax + eax*4]
mov eax, dword [esi + 0x58]
mov edx, 0x90
mov word [eax + ecx*4 - 0x12], dx
mov eax, dword [esp + 0x34]
push 0
push dword [eax]
mov edx, 0x61
push 0
push 4
push 0
mov ecx, esi
call fcn.100c8bd0
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 0x88]
add esp, 0x14
cmp dword [eax + 0x30], ecx
jg 0x10091d62
push 3
push 2
push 4
mov edx, 0x5d
mov ecx, esi
call fcn.100c9070
add esp, 0xc
jmp 0x10091d98
lea eax, [ecx + 1]
mov dword [esi + 0x88], eax
mov eax, dword [esi + 0x58]
lea ecx, [ecx + ecx*4]
mov dword [eax + ecx*4], 0x5d
mov dword [eax + ecx*4 + 4], 4
mov dword [eax + ecx*4 + 8], 2
mov dword [eax + ecx*4 + 0xc], 3
mov dword [eax + ecx*4 + 0x10], 0
mov ecx, esi
call fcn.10092540
mov edx, dword [esi + 0x88]
test edi, edi
jns 0x10091dac
lea edi, [edx - 1]
mov eax, dword [esi]
cmp byte [eax + 0x49], 0
je 0x10091dbb
mov eax, 0x1012875c
jmp 0x10091dc4
mov eax, dword [esi + 0x58]
lea ecx, [edi + edi*4]
lea eax, [eax + ecx*4]
mov ecx, dword [esp + 0x24]
mov dword [eax + 8], edx
mov eax, dword [esp + 0x34]
mov eax, dword [eax + 0x14]
inc ebx
mov dword [esp + 0x34], eax
test eax, eax
jne 0x10091c40
mov ebx, dword [esp + 0x50]
mov ebx, dword [ebx]
mov dword [esp + 0x50], ebx
test ebx, ebx
jne 0x10091370
mov edx, dword [esp + 0x28]
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [eax + 0x14]
jl 0x100911e1
mov ebx, dword [esp + 0x2c]
push ecx
push 0x10108b1c
mov edx, 7
mov ecx, esi
call fcn.100c86d0
mov edx, eax
add esp, 8
test edx, edx
je 0x10091e59
mov ecx, 1
sub ecx, ebx
mov dword [edx + 8], ecx
mov byte [edx + 0x29], 0xff
mov dword [edx + 0x38], 0x100ff294
mov byte [edx + 0x65], 0xff
mov eax, dword [str.database_disk_image_is_malformed]
mov ecx, str.unknown_error
test eax, eax
cmovne ecx, eax
mov dword [edx + 0x74], ecx
mov eax, dword [esi]
mov edx, dword [esi + 0x88]
cmp byte [eax + 0x49], 0
mov ecx, 0x1012875c
jne 0x10091e6f
mov ecx, dword [esi + 0x58]
lea eax, [edx - 2]
mov dword [ecx + 0xc], eax
jmp case.0x10090047.40
test edx, edx
jne 0x10091eaa
mov ebx, dword [esp + 0x14]
mov ecx, ebx
call fcn.1008ec00
test eax, eax
jne case.0x10090047.40
mov eax, dword [ebx]
mov ecx, esi
movzx edx, byte [eax + 0x46]
mov edx, dword [edx*8 + 0x10107270]
call fcn.10092820
jmp case.0x10090047.40
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0x10]
mov eax, dword [edi + 0xc]
movzx eax, word [eax + 0x4e]
test al, 1
je 0x10091ec4
test al, 4
je case.0x10090047.40
mov eax, dword [str.UTF8]
mov esi, 0x10107270
test eax, eax
je 0x10091f16
mov ecx, dword [esp + 0x1c]
mov edx, eax
call fcn.100e98d0
test eax, eax
je 0x10091eed
mov eax, dword [esi + 8]
add esi, 8
test eax, eax
jne 0x10091ed2
jmp 0x10091f12
mov al, byte [esi + 4]
movzx ecx, al
test al, al
jne 0x10091efc
mov ecx, 2
mov eax, dword [esp + 0x10]
mov byte [eax + 0x46], cl
mov eax, dword [edi + 0xc]
mov byte [eax + 0x4d], cl
cmp dword [esi], 0
jne case.0x10090047.40
mov edx, dword [esp + 0x1c]
push edx
push str.unsupported_encoding:__s
push dword [esp + 0x1c]
call fcn.100e99e0
add esp, 0xc
jmp case.0x10090047.40
mov ebx, dword [esp + 0x18]
mov edi, dword [eax + 8]
mov edx, ebx
mov ecx, esi
call fcn.100c7c50
cmp dword [esp + 0x1c], 0
je 0x10091f7f
mov eax, dword [esp + 0x3c]
test byte [eax + 5], 8
jne 0x10091f7f
push ecx
push 0x10104190
mov edx, 2
mov ecx, esi
call fcn.100c86d0
mov ecx, dword [esp + 0x24]
mov esi, eax
add esp, 8
mov dword [esi + 4], ebx
mov dword [esi + 0x18], ebx
mov dword [esi + 0x1c], edi
call fcn.100e8d40
mov dword [esi + 0x20], eax
jmp case.0x10090047.40
push ecx
push 0x1010984c
mov edx, 3
mov ecx, esi
call fcn.100c86d0
add esp, 8
mov dword [eax + 4], ebx
mov dword [eax + 0x18], ebx
mov dword [eax + 0x20], edi
and dword [esi + 0x94], 0xffffffdf
jmp case.0x10090047.40
mov eax, dword [esp + 0x14]
xor edi, edi
push edi
mov dword [eax + 0x2c], 1
call sym.SQLite.Interop.dll_sqlite3_compileoption_get
add esp, 4
test eax, eax
je 0x10091ff9
push 0
push eax
push 0
push 1
push 0
mov edx, 0x61
mov ecx, esi
inc edi
call fcn.100c8bd0
add esp, 0x14
mov edx, 0x4e
push 1
push 1
mov ecx, esi
call fcn.100c8eb0
push edi
call sym.SQLite.Interop.dll_sqlite3_compileoption_get
add esp, 0xc
test eax, eax
jne 0x10091fc3
and dword [esi + 0x94], 0xffffffdf
jmp case.0x10090047.40
mov eax, dword [esp + 0x20]
mov ebx, 0xa
cmp dword [eax], 0
cmovne ebx, dword [esp + 0x18]
xor edi, edi
test edx, edx
je 0x10092062
mov ecx, dword [esp + 0x1c]
mov edx, str.full
call fcn.100e98d0
test eax, eax
jne 0x10092033
lea edi, [eax + 1]
jmp 0x10092062
mov ecx, dword [esp + 0x1c]
mov edx, str.restart
call fcn.100e98d0
test eax, eax
jne 0x1009204a
lea edi, [eax + 2]
jmp 0x10092062
mov ecx, dword [esp + 0x1c]
mov edx, str.truncate
call fcn.100e98d0
mov ecx, 3
test eax, eax
cmove edi, ecx
mov eax, dword [esp + 0x14]
push 1
push edi
push ebx
mov edx, 8
mov ecx, esi
mov dword [eax + 0x2c], 3
call fcn.100c9000
add esp, 0xc
mov edx, 0x4e
push 3
push 1
mov ecx, esi
call fcn.100c8eb0
jmp 0x10092459
test edx, edx
je 0x100920ad
mov ecx, edx
call fcn.100e8d40
push eax
push dword [esp + 0x14]
call sym.SQLite.Interop.dll_sqlite3_wal_autocheckpoint
add esp, 8
mov eax, dword [esp + 0x10]
cmp dword [eax + 0xf0], 0x10068ce0
jne 0x100900f6
mov eax, dword [eax + 0xf4]
jmp 0x1009244f
push dword [esp + 0x10]
call sym.SQLite.Interop.dll_sqlite3_db_release_memory
add esp, 4
jmp case.0x10090047.40
test edx, edx
je 0x100920f9
mov ecx, edx
call fcn.100e8d40
mov ecx, eax
mov dword [esp + 0x30], ecx
test cl, 2
je case.0x10090047.40
jmp 0x10092101
mov dword [esp + 0x30], 0xfffe
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [ecx + 0x28]
mov dword [esp + 0x2c], eax
inc eax
cmp dword [esp + 0x38], 0
mov dword [ecx + 0x28], eax
je 0x10092123
mov eax, edx
mov dword [esp + 0x34], eax
jmp 0x10092137
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x14]
dec eax
mov dword [esp + 0x34], eax
cmp edx, eax
jg 0x10092264
cmp edx, 1
je 0x10092250
call fcn.100a0960
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10]
mov eax, dword [edi + eax + 0xc]
mov ebx, dword [eax + 0x10]
test ebx, ebx
je 0x10092244
jmp 0x10092160
mov edi, dword [ebx + 8]
test dword [edi + 0x24], 0x100
je 0x10092236
mov ax, word [edi + 0x2c]
add ax, 0x2e
movzx ecx, ax
mov eax, dword [edi + 8]
mov dword [esp + 0x58], ecx
test eax, eax
je 0x10092193
test byte [eax + 0x38], 0x80
je 0x100921db
mov eax, dword [eax + 0x14]
test eax, eax
jne 0x10092186
test cx, cx
je 0x100921db
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x14]
push 0x68
push edi
push dword [esp + 0x20]
call fcn.10097b90
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x3c]
cwde
add esp, 0xc
and ecx, 1
push eax
mov eax, dword [esi + 0x88]
add ecx, 2
add eax, ecx
push eax
push dword [esp + 0x34]
mov edx, 0x22
mov ecx, esi
call fcn.100c9000
add esp, 0xc
push dword [edi]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x28]
mov eax, dword [ecx + 0x10]
push dword [edi + eax]
push str.ANALYZE___w_.__w_
push ecx
call fcn.100eaab0
add esp, 0x10
test byte [esp + 0x30], 1
mov edx, eax
je 0x10092275
mov ecx, dword [esp + 0x14]
call fcn.100ac900
push 0xfffffffffffffff9
push edx
mov edi, eax
push 0
push edi
push 0
mov edx, 0x61
mov ecx, esi
call fcn.100c8bd0
add esp, 0x14
mov edx, 0x4e
push 1
push edi
mov ecx, esi
call fcn.100c8eb0
add esp, 8
mov edi, dword [esp + 0x24]
mov ebx, dword [ebx]
test ebx, ebx
jne 0x10092160
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
inc edx
add edi, 0x10
mov dword [esp + 0x18], edx
mov dword [esp + 0x24], edi
cmp edx, eax
jle 0x10092137
mov edx, 0x97
mov ecx, esi
call fcn.100c8f90
jmp case.0x10090047.40
push 0xfffffffffffffff9
push edx
push 0
push 0
push 0
mov edx, 0x88
mov ecx, esi
call fcn.100c8bd0
add esp, 0x14
jmp 0x1009223a
test edx, edx
je 0x100922b4
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x58]
call fcn.100e8f10
test eax, eax
jne 0x100922b4
push dword [esp + 0x5c]
push dword [esp + 0x5c]
call sym.SQLite.Interop.dll_sqlite3_soft_heap_limit64
add esp, 8
push 0xffffffffffffffff
push 0xffffffffffffffff
call sym.SQLite.Interop.dll_sqlite3_soft_heap_limit64
push edx
push eax
mov ecx, esi
call fcn.100928b0
add esp, 0x10
jmp case.0x10090047.40
test edx, edx
je 0x10092307
mov ecx, dword [esp + 0x1c]
lea edx, [esp + 0x58]
call fcn.100e8f10
test eax, eax
jne 0x10092307
cmp dword [esp + 0x5c], eax
jl 0x10092307
mov eax, dword [esp + 0x58]
jg 0x100922f3
test eax, eax
jb 0x10092307
and eax, 0x7fffffff
push eax
push 0xb
push dword [esp + 0x18]
call sym.SQLite.Interop.dll_sqlite3_limit
add esp, 0xc
mov ecx, dword [esp + 0x10]
call fcn.100e8830
test eax, eax
jne 0x1009233a
push 0x1010288c
push 0x2345a
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call sym.SQLite.Interop.dll_sqlite3_log
add esp, 0x14
or eax, 0xffffffff
jmp 0x1009244f
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x90]
jmp 0x1009244f
test edx, edx
je case.0x10090047.40
mov ecx, edx
call fcn.100e9c80
mov ecx, dword [esp + 0x10]
push eax
push dword [esp + 0x20]
xor edx, edx
call fcn.10036f60
jmp 0x10092459
test edx, edx
je case.0x10090047.40
mov ecx, edx
call fcn.100e9c80
push eax
push dword [esp + 0x20]
push dword [esp + 0x40]
push dword [esp + 0x1c]
call sym.SQLite.Interop.dll_sqlite3_rekey_v2
add esp, 0x10
jmp case.0x10090047.40
test edx, edx
je case.0x10090047.40
xor ebx, ebx
mov byte [esp + 0x43], bl
jmp 0x100923b0
mov cl, byte [ebx + edx]
movzx eax, cl
test byte [eax + 0x10109b28], 8
je 0x100923fd
movsx edx, cl
mov ecx, edx
sar ecx, 6
and cl, 1
mov al, cl
shl al, 3
sub al, cl
mov cl, byte [esp + 0x43]
sub dl, al
and dl, 0xf
shl cl, 4
add cl, dl
mov byte [esp + 0x43], cl
test bl, 1
je 0x100923f3
mov eax, ebx
shr eax, 1
mov byte [esp + eax + 0x8c], cl
mov edx, dword [esp + 0x1c]
inc ebx
cmp ebx, 0x50
jb 0x100923b0
mov eax, dword [esp + 0x6c]
mov cl, byte [eax + 3]
mov eax, ebx
cdq
sub eax, edx
sar eax, 1
push eax
and cl, 0xf
lea eax, [esp + 0x90]
push eax
cmp cl, 0xb
jne 0x10092381
mov ecx, dword [esp + 0x18]
xor edx, edx
call fcn.10036f60
jmp 0x10092459
test edx, edx
je 0x10092445
mov ecx, edx
call fcn.100e8d40
push eax
push dword [esp + 0x14]
call sym.SQLite.Interop.dll_sqlite3_busy_timeout
add esp, 8
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0x1bc]
cdq
push edx
push eax
mov ecx, esi
call fcn.100928b0
add esp, 8
mov edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x10]
call fcn.100ecb90
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
call fcn.100ecb90
mov ecx, dword [esp + 0xb4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10001186
mov esp, ebp
pop ebp
ret