Function at 0x1010b8e8
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x11c
mov eax, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov eax, dword [eax + 0x18]
mov dword [ebp - 0xc4], eax
mov eax, dword [eax]
mov dword [ebp - 0xc0], eax
mov al, byte [esi]
cmp al, 0x4b
je 0x1010b964
ja 0x1010b930
cmp al, 0x14
je case.0x1010b929.4
sub eax, 0x2d
cmp al, 0xe
ja case.0x1010b929.1
movzx eax, al
jmp dword [eax*4 + 0x101ed0f4]
cmp al, 0x9c
je 0x1010d2ba
ja 0x1010b94f
cmp al, 0x8a
je case.0x1010b929.4
cmp al, 0x8d
je 0x1010ba73
jmp case.0x1010b929.1
cmp al, 0xab
je case.0x1010b929.0
cmp al, 0xac
je 0x1010c99f
jmp case.0x1010b929.1
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 4]
mov edx, dword [eax + 0x18]
mov eax, dword [eax + 0x34]
mov word [esi], 0x44a7
dec word [esi + 0x20]
mov dword [esi + 0x2c], edx
mov dword [esi + 0x1c], eax
jmp case.0x1010b929.1
mov edx, dword [ebp - 0xc4]
xor eax, eax
mov ecx, dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov dword [ebp + eax*4 - 0x98], ecx
inc eax
test edx, edx
je 0x1010b9a6
cmp eax, 7
jle 0x1010b98f
mov edx, dword [esi + 0xc]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExpr
mov ebx, dword [esi + 0xc]
mov eax, ebx
call sym._sqlite3ExprCanBeNull
mov edx, eax
test eax, eax
jne 0x1010cb8f
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
ja 0x1010cb8f
cmp byte [esi], 0x33
mov eax, dword [esi + 4]
jne 0x1010b9ec
or eax, 0x10000000
mov ecx, str.true
jmp 0x1010b9f6
or eax, 0x20000000
mov ecx, str.false
mov dword [esi + 8], ecx
mov dword [esi + 4], eax
mov byte [esi], 0xaa
mov eax, dword [ebp + edx*4 - 0x98]
mov edi, dword [ebp - 0xc4]
inc edx
mov dword [edi + 0x10], eax
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xc4], eax
test eax, eax
je 0x1010ba22
cmp edx, 7
jle 0x1010b9ff
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov dword [esp], eax
call sym._sqlite3ExprDelete
xor eax, eax
mov dword [esi + 0xc], eax
jmp 0x1010cb8f
mov eax, dword [esi + 8]
xor ebx, ebx
xor edi, edi
mov dword [ebp - 0xc8], edi
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov dword [ebp - 0x98], ebx
mov dword [esi + 0x1c], 0xffffffff
mov dword [ebp - 0xd8], eax
jmp 0x1010bbd2
mov eax, dword [ebp - 0xc4]
mov ebx, dword [esi + 0xc]
mov edx, dword [eax + 0x18]
test dl, 0x28
je 0x1010ba9d
xor ecx, ecx
mov dword [esp + 4], esi
mov dword [esp], ecx
mov eax, dword [ebp - 0xc0]
mov ecx, str.the__.__operator
call sym._notValidImpl.isra.0
mov ecx, dword [esi + 0x10]
mov eax, dword [ebx + 8]
cmp byte [ecx], 0x3b
mov dword [ebp - 0xdc], eax
je 0x1010bab6
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x1010babe
xor eax, eax
mov dword [ebp - 0xdc], eax
mov eax, dword [ebx + 8]
mov dword [ebp - 0xc8], eax
mov eax, dword [ecx + 8]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010bb02
mov eax, dword [eax + 0x10c]
mov edx, esi
call sym._sqlite3RenameTokenRemap.isra.0
mov eax, dword [ebp - 0xc0]
lea edx, [esi + 0x2c]
mov ecx, ebx
mov eax, dword [eax + 0x10c]
call sym._sqlite3RenameTokenRemap.isra.0
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov dword [esi + 0x1c], 0xffffffff
mov dword [ebp - 0xd8], eax
xor eax, eax
mov dword [ebp - 0x98], eax
xor eax, eax
cmp dword [ebp - 0xdc], 0
mov dword [ebp - 0xe4], eax
je 0x1010bbe0
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x18]
mov ebx, eax
mov dword [ebp - 0xcc], eax
and ebx, 6
jne 0x1010bbd2
mov eax, dword [ebp - 0xd8]
mov edi, dword [eax + 0x14]
cmp ebx, edi
jge 0x1010bb96
mov ecx, dword [ebp - 0xd8]
mov eax, ebx
mov edx, dword [ebp - 0xdc]
shl eax, 4
add eax, dword [ecx + 0x10]
mov ecx, eax
mov eax, dword [eax]
mov dword [ebp - 0xcc], ecx
call sym._sqlite3StrICmp
mov ecx, dword [ebp - 0xcc]
test eax, eax
jne 0x1010bb93
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xe4], eax
jmp 0x1010bbe0
inc ebx
jmp 0x1010bb57
mov dword [ebp - 0xe4], 0
jne 0x1010bbe0
mov edx, dword [ebp - 0xdc]
mov eax, str.main
call sym._sqlite3StrICmp
test eax, eax
jne 0x1010bbe0
mov eax, dword [ebp - 0xd8]
mov eax, dword [eax + 0x10]
mov edi, dword [eax + 0xc]
mov eax, dword [eax]
mov dword [ebp - 0xe4], edi
mov dword [ebp - 0xdc], eax
jmp 0x1010bbe0
xor eax, eax
mov dword [ebp - 0xe4], eax
mov dword [ebp - 0xdc], eax
xor eax, eax
mov edi, dword [ebp - 0xc4]
mov dword [ebp - 0xf0], 0xa7
mov dword [ebp - 0xd0], eax
mov dword [ebp - 0x100], eax
mov dword [ebp - 0xec], eax
mov eax, dword [edi + 4]
xor ebx, ebx
mov dword [ebp - 0xe0], ebx
mov dword [ebp - 0xf4], eax
test eax, eax
je 0x1010c03d
xor ecx, ecx
lea ebx, [eax + 8]
mov dword [ebp - 0xfc], ecx
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xfc]
cmp ecx, dword [eax]
jge 0x1010c000
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xcc], eax
test byte [ebx + 0x29], 0x20
je 0x1010bdbf
mov eax, dword [ebx + 0x14]
xor edx, edx
mov dword [ebp - 0x104], edx
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xe8], edx
mov dword [ebp - 0xf8], eax
add eax, 8
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe8]
cmp ecx, dword [eax]
jge 0x1010bda4
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
mov ecx, dword [ebp - 0xc8]
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0x108]
call sym._sqlite3MatchEName
test eax, eax
je 0x1010bd92
cmp dword [ebp - 0xe0], 0
je 0x1010bd20
test byte [ebx + 0x29], 4
je 0x1010bccf
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0xd4]
call sym._sqlite3IdListIndex
test eax, eax
jns 0x1010bcf1
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprListDelete
xor eax, eax
mov dword [ebp - 0x98], eax
jmp 0x1010bd48
mov al, byte [ebx + 0x24]
test al, 0x10
je 0x1010bd92
test al, 8
jne 0x1010bd2a
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprListDelete
xor eax, eax
mov dword [ebp - 0x98], eax
xor eax, eax
mov dword [ebp - 0xe0], eax
jmp 0x1010bd48
movsx eax, word [esi + 0x20]
lea edx, [ebp - 0x98]
mov dword [esp], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
call sym._extendFJMatch
mov eax, dword [ebp - 0xe8]
imul edx, dword [ebp - 0xe8], 0x14
mov dword [ebp - 0xd0], ebx
inc dword [ebp - 0xe0]
mov word [esi + 0x20], ax
mov eax, dword [ebp - 0xf8]
add edx, eax
mov al, byte [edx + 0x14]
or eax, 0x40
mov byte [edx + 0x14], al
test al, al
js 0x1010bfe8
mov dword [ebp - 0x104], 1
mov dword [ebp - 0xec], 2
inc dword [ebp - 0xe8]
add dword [ebp - 0x108], 0x14
jmp 0x1010bc72
cmp dword [ebp - 0xc8], 0
je 0x1010bff2
cmp dword [ebp - 0x104], 0
je 0x1010bdcc
jmp 0x1010bff2
cmp dword [ebp - 0xc8], 0
je 0x1010be5f
cmp dword [ebp - 0xdc], 0
je 0x1010be0c
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe4]
cmp dword [eax + 0x3c], ecx
jne 0x1010bff2
test ecx, ecx
jne 0x1010be0c
mov dword [esp + 4], 0x101ece7e
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x1010bff2
mov ecx, dword [ebx + 0xc]
mov eax, ecx
test ecx, ecx
jne 0x1010be1d
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax]
mov edx, dword [ebp - 0xc8]
mov dword [ebp - 0xe8], ecx
call sym._sqlite3StrICmp
test eax, eax
jne 0x1010bff2
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010be5f
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x1010be5f
mov eax, dword [eax + 0x10c]
lea ecx, [esi + 0x2c]
xor edx, edx
call sym._sqlite3RenameTokenRemap.isra.0
mov eax, dword [ebp - 0xd4]
call sym._sqlite3StrIHash
mov byte [ebp - 0xf8], al
mov eax, dword [ebp - 0xcc]
mov ecx, dword [eax + 4]
movsx eax, word [eax + 0x22]
mov dword [ebp - 0x104], eax
xor eax, eax
mov dword [ebp - 0xe8], eax
mov edx, dword [ebp - 0x104]
cmp dword [ebp - 0xe8], edx
jge 0x1010bfc5
mov al, byte [ebp - 0xf8]
cmp al, byte [ecx + 0xa]
jne 0x1010bfb7
mov eax, dword [ecx]
mov edx, dword [ebp - 0xd4]
mov dword [ebp - 0x108], ecx
call sym._sqlite3StrICmp
mov ecx, dword [ebp - 0x108]
test eax, eax
jne 0x1010bfb7
cmp dword [ebp - 0xe0], 0
mov al, byte [ebx + 0x29]
je 0x1010bf70
test al, 4
je 0x1010bef9
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0xd4]
call sym._sqlite3IdListIndex
mov ecx, dword [ebp - 0x108]
test eax, eax
jns 0x1010bf1b
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprListDelete
xor eax, eax
mov dword [ebp - 0x98], eax
jmp 0x1010bf70
mov al, byte [ebx + 0x24]
test al, 0x10
je 0x1010bfb7
test al, 8
jne 0x1010bf52
mov eax, dword [ebp - 0x98]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprListDelete
xor ecx, ecx
mov dword [ebp - 0x98], ecx
mov dword [ebp - 0xe0], ecx
jmp 0x1010bf70
movsx eax, word [esi + 0x20]
lea edx, [ebp - 0x98]
mov dword [esp], eax
mov ecx, dword [ebp - 0xd0]
mov eax, dword [ebp - 0xc0]
call sym._extendFJMatch
mov ecx, dword [ebp - 0xcc]
mov al, byte [ebx + 0x29]
movsx edx, word [ecx + 0x20]
mov ecx, dword [ebp - 0xe8]
and eax, 0x20
cmp edx, ecx
je 0x1010bfaf
mov ecx, dword [ebp - 0xe8]
mov word [esi + 0x20], cx
test al, al
jne 0x1010bfa0
inc dword [ebp - 0xe0]
jmp 0x1010bfe0
mov edx, dword [ebp - 0xe8]
mov eax, ebx
call sym._sqlite3SrcItemColumnUsed
jmp 0x1010bf98
mov word [esi + 0x20], 0xffff
jmp 0x1010bf94
inc dword [ebp - 0xe8]
add ecx, 0x10
jmp 0x1010be8b
cmp dword [ebp - 0xe0], 0
jne 0x1010bff2
mov eax, dword [ebp - 0xcc]
test byte [eax + 0x1d], 2
jne 0x1010bff2
inc dword [ebp - 0xec]
mov dword [ebp - 0xd0], ebx
jmp 0x1010bff2
mov dword [ebp - 0xec], 2
inc dword [ebp - 0xfc]
add ebx, 0x48
jmp 0x1010bc28
cmp dword [ebp - 0xd0], 0
je 0x1010c03d
mov eax, dword [ebp - 0xd0]
mov ebx, dword [ebp - 0xd0]
mov eax, dword [eax + 0x2c]
mov dword [esi + 0x1c], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
mov dword [esi + 0x2c], eax
test byte [ebx + 0x24], 0x48
je 0x1010c034
or dword [esi + 4], 0x200000
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xe0]
or eax, ebx
mov dword [ebp - 0xcc], eax
jne 0x1010c3d9
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1010c19e
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x95], 0
movzx ebx, byte [eax + 0x94]
je 0x1010c0ec
mov ecx, dword [edi + 0x18]
bt ecx, 0xa
jae 0x1010c186
cmp dword [ebp - 0xc8], 0
jne 0x1010c0ad
xor eax, eax
cmp ebx, 0x80
setne al
mov dword [esi + 0x1c], eax
jmp 0x1010c20f
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0xc8]
call sym._sqlite3StrICmp
mov ecx, dword [ebp - 0xe8]
and ecx, 0x200
test eax, eax
jne 0x1010c182
xor eax, eax
cmp ebx, 0x80
setne al
test ecx, ecx
mov dword [esi + 0x1c], eax
jmp 0x1010c12d
cmp dword [ebp - 0xc8], 0
setne cl
cmp ebx, 0x80
je 0x1010c138
test cl, cl
je 0x1010c138
mov edx, dword [ebp - 0xc8]
mov eax, 0x101ece80
mov byte [ebp - 0xe8], cl
call sym._sqlite3StrICmp
mov cl, byte [ebp - 0xe8]
test eax, eax
jne 0x1010c138
mov dword [esi + 0x1c], 1
test byte [edi + 0x19], 2
jne 0x1010c1d9
jmp 0x1010c20f
cmp ebx, 0x7f
je 0x1010c174
test cl, cl
je 0x1010c174
mov edx, dword [ebp - 0xc8]
mov eax, 0x101ece84
call sym._sqlite3StrICmp
test eax, eax
mov eax, dword [edi + 0x18]
jne 0x1010c168
xor edx, edx
bt eax, 9
mov dword [esi + 0x1c], edx
jb 0x1010c1d9
jmp 0x1010c20f
bt eax, 9
jae 0x1010c3e7
jmp 0x1010c1b5
test byte [edi + 0x19], 2
je 0x1010c3ef
test cl, cl
jmp 0x1010c1af
test ecx, ecx
jmp 0x1010c1af
bt ecx, 9
jae 0x1010c3e7
cmp dword [ebp - 0xc8], 0
jne 0x1010c1b5
jmp 0x1010c3e7
test byte [edi + 0x19], 2
je 0x1010c3ef
cmp dword [ebp - 0xc8], 0
je 0x1010c3ef
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1010c3ef
mov edx, dword [ebp - 0xc8]
mov eax, str.excluded
call sym._sqlite3StrICmp
test eax, eax
je 0x1010c1f4
jmp 0x1010c3ef
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1010c20f
mov edx, dword [ebp - 0xc8]
mov eax, str.excluded
call sym._sqlite3StrICmp
test eax, eax
jne 0x1010c20f
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x18]
mov dword [esi + 0x1c], 2
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1010c3ef
mov eax, dword [ebp - 0xd4]
call sym._sqlite3StrIHash
inc dword [ebp - 0xec]
xor ecx, ecx
mov byte [ebp - 0xf4], al
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x3c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xe0]
mov ebx, dword [eax + 4]
movsx eax, word [eax + 0x22]
mov dword [ebp - 0xe8], eax
mov eax, dword [ebp - 0xe8]
cmp ecx, eax
jge 0x1010c292
mov al, byte [ebp - 0xf4]
cmp al, byte [ebx + 0xa]
jne 0x1010c28c
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebx]
mov dword [ebp - 0xf8], ecx
call sym._sqlite3StrICmp
mov ecx, dword [ebp - 0xf8]
test eax, eax
jne 0x1010c28c
mov eax, dword [ebp - 0xe0]
movsx eax, word [eax + 0x20]
cmp eax, ecx
jne 0x1010c2c5
jmp 0x1010c2c2
inc ecx
add ebx, 0x10
jmp 0x1010c24a
mov eax, dword [ebp - 0xd4]
call sym._sqlite3IsRowid
test eax, eax
je 0x1010c3e7
mov eax, dword [ebp - 0xe0]
test byte [eax + 0x1d], 2
jne 0x1010c3ef
cmp dword [ebp - 0xe8], 0
js 0x1010c3ef
or ecx, 0xffffffff
mov eax, dword [esi + 0x1c]
cmp eax, 2
jne 0x1010c30d
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010c2f5
mov eax, dword [ebp - 0xe0]
mov word [esi + 0x20], cx
mov dword [ebp - 0xf0], 0xa7
mov dword [esi + 0x2c], eax
jmp 0x1010c355
mov eax, dword [edi + 8]
mov edx, ecx
mov ebx, dword [eax + 0x24]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3TableColumnToStorage
cwde
add eax, ebx
jmp 0x1010c348
mov ebx, dword [ebp - 0xe0]
mov dword [esi + 0x2c], ebx
mov ebx, dword [ebp - 0xc0]
cmp byte [ebx + 0x95], 0
je 0x1010c36c
mov ebx, dword [ebp - 0xe8]
mov byte [esi + 2], 0xa7
mov edx, ecx
inc ebx
imul ebx, eax
mov eax, dword [ebp - 0xe0]
add ebx, dword [edi + 8]
call sym._sqlite3TableColumnToStorage
cwde
lea eax, [ebx + eax + 1]
mov dword [esi + 0x1c], eax
mov dword [ebp - 0xf0], 0xb0
mov dword [ebp - 0xcc], 1
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x1010c3ef
mov word [esi + 0x20], cx
cmp ecx, 0xffffffff
jne 0x1010c37b
mov byte [esi + 1], 0x44
jmp 0x1010c3a8
test eax, eax
mov eax, dword [ebp - 0xc0]
jne 0x1010c3b4
mov edx, dword [eax + 0x8c]
or eax, 0xffffffff
cmp ecx, 0x1f
jg 0x1010c39a
mov eax, 1
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x8c], edx
mov dword [ebp - 0xf0], 0x4d
jmp 0x1010c355
mov edx, dword [eax + 0x90]
or eax, 0xffffffff
cmp ecx, 0x1f
jg 0x1010c3c9
mov eax, 1
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x90], edx
jmp 0x1010c3a8
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
jmp 0x1010c3ef
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x1010c5d3
cmp dword [ebp - 0xec], 1
jne 0x1010c44b
cmp dword [ebp - 0xd0], 0
je 0x1010c458
test byte [edi + 0x18], 0x28
jne 0x1010c458
mov eax, dword [ebp - 0xd4]
call sym._sqlite3IsRowid
test eax, eax
je 0x1010c458
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
test byte [eax + 0x1d], 2
jne 0x1010c458
mov word [esi + 0x20], 0xffff
mov byte [esi + 1], 0x44
mov dword [ebp - 0xcc], 1
jmp 0x1010c83e
cmp dword [ebp - 0xcc], 0
jne 0x1010c5d3
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xe0], eax
cmp byte [ebp - 0xe0], 0
jns 0x1010c5ba
cmp dword [ebp - 0xc8], 0
jne 0x1010c5ba
mov ebx, dword [edi + 8]
mov eax, dword [ebx]
mov dword [ebp - 0xe8], eax
xor eax, eax
mov dword [ebp - 0xcc], eax
mov ecx, dword [ebp - 0xe8]
cmp dword [ebp - 0xcc], ecx
jge 0x1010c5ba
imul eax, dword [ebp - 0xcc], 0x14
lea edx, [ebx + eax]
test byte [edx + 0x14], 3
jne 0x1010c5af
mov ecx, dword [ebx + eax + 0xc]
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0xf8], edx
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [ebp - 0xf4], ecx
call sym._sqlite3_stricmp
mov ecx, dword [ebp - 0xf4]
mov edx, dword [ebp - 0xf8]
test eax, eax
jne 0x1010c5af
mov eax, dword [edx + 8]
mov edx, dword [eax + 4]
test byte [ebp - 0xe0], 1
jne 0x1010c50c
test dl, 0x10
je 0x1010c50c
mov dword [esp + 8], ecx
mov dword [esp + 4], str.misuse_of_aliased_aggregate__s
jmp 0x1010c530
bt edx, 0xf
jae 0x1010c548
bt dword [ebp - 0xe0], 0xe
jae 0x1010c524
cmp dword [ebp - 0xc4], edi
je 0x1010c548
mov dword [esp + 8], ecx
mov dword [esp + 4], str.misuse_of_aliased_window_function__s
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, 2
jmp 0x1010d419
call sym._sqlite3ExprVectorSize
dec eax
je 0x1010c568
mov dword [esp + 4], str.row_value_misused
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1010c53e
mov eax, dword [ebp - 0x100]
mov dword [esp], esi
mov edx, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xcc]
call sym._resolveAlias
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010c8ba
mov eax, dword [eax + 0x10c]
mov ecx, esi
xor edx, edx
call sym._sqlite3RenameTokenRemap.isra.0
jmp 0x1010c8ba
inc dword [ebp - 0xcc]
jmp 0x1010c48e
mov edi, dword [edi + 0xc]
inc dword [ebp - 0x100]
test edi, edi
jne 0x1010bc04
xor eax, eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
or eax, dword [ebp - 0xcc]
jne 0x1010c6a9
test byte [esi + 4], 0x80
je 0x1010c673
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0xb1], 0
jne 0x1010c63e
mov ebx, dword [ebp - 0xc4]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
test byte [ebx + 0x1a], 1
je 0x1010c633
mov ecx, eax
and ecx, 0x10000001
xor ecx, 1
or ecx, 0
jne 0x1010c62d
mov ecx, eax
and ecx, 0x40000000
or ecx, 0
jne 0x1010c63e
shrd eax, edx, 0x1d
jmp 0x1010c637
shrd eax, edx, 0x1e
and eax, 1
test eax, eax
je 0x1010c673
mov eax, dword [ebp - 0xd4]
mov dword [esp], 0x1c
add esi, 0x2c
mov dword [esp + 4], str.double_quoted_string_literal:___w_
mov dword [esp + 8], eax
call sym._sqlite3_log
mov byte [esi - 0x2c], 0x75
mov ecx, 2
xor eax, eax
mov edi, esi
rep stosd dword es:[edi], eax
jmp 0x1010cb8f
mov eax, esi
call sym._sqlite3ExprIdToTrueFalse
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1010cb8f
mov eax, dword [ebp - 0x98]
test eax, eax
jne 0x1010c6c4
cmp dword [ebp - 0xdc], 0
mov eax, str.no_such_column
jne 0x1010c785
jmp 0x1010c7f8
cmp dword [ebp - 0xcc], 1
je 0x1010c83e
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x1010c768
mov ebx, dword [ebp - 0xcc]
lea edx, [ebx - 1]
cmp dword [eax], edx
jne 0x1010c74e
mov eax, dword [esi + 4]
bt eax, 0x17
jae 0x1010c6e4
and eax, 0xff7fffff
mov dword [esi + 4], eax
jmp 0x1010c718
mov eax, dword [esi + 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprDelete
xor eax, eax
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x10]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprDelete
xor eax, eax
mov dword [esi + 0x10], eax
movsx eax, word [esi + 0x20]
lea edx, [ebp - 0x98]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xd0]
call sym._extendFJMatch
mov eax, dword [ebp - 0x98]
mov byte [esi], 0xac
mov dword [esi + 8], str.coalesce
mov dword [esi + 0x14], eax
jmp 0x1010c8ba
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprListDelete
xor eax, eax
mov dword [ebp - 0x98], eax
cmp dword [ebp - 0xcc], 0
mov eax, str.no_such_column
mov edx, str.ambiguous_column_name
cmovne eax, edx
cmp dword [ebp - 0xdc], 0
je 0x1010c7bf
mov ebx, dword [ebp - 0xd4]
mov dword [esp + 0x14], ebx
mov ebx, dword [ebp - 0xc8]
mov dword [esp + 0x10], ebx
mov ecx, dword [ebp - 0xdc]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 4], str._s:__s._s._s
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1010c81c
cmp dword [ebp - 0xc8], 0
je 0x1010c7f8
mov ecx, dword [ebp - 0xd4]
mov dword [esp + 0x10], ecx
mov ebx, dword [ebp - 0xc8]
mov dword [esp + 8], eax
mov dword [esp + 0xc], ebx
mov dword [esp + 4], str._s:__s._s
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1010c81c
mov ecx, dword [ebp - 0xd4]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s:__s
mov dword [esp + 0xc], ecx
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc0]
mov edx, esi
mov eax, dword [eax]
call sym._sqlite3RecordErrorOffsetOfExpr
mov eax, dword [ebp - 0xc0]
mov byte [eax + 0x11], 1
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x14]
test dword [esi + 4], 0x810000
jne 0x1010c882
mov eax, dword [esi + 0xc]
xor ebx, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprDelete
mov eax, dword [esi + 0x10]
xor ecx, ecx
mov dword [esi + 0xc], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd8]
mov dword [esp], eax
call sym._sqlite3ExprDelete
or dword [esi + 4], 0x800000
mov dword [esi + 0x10], ebx
cmp word [esi + 0x20], 0
js 0x1010c8a5
cmp dword [ebp - 0xd0], 0
je 0x1010c8a5
mov eax, esi
call sym._sqlite3ExprColUsed
mov ebx, dword [ebp - 0xd0]
or dword [ebx + 0x38], eax
or dword [ebx + 0x3c], edx
mov al, byte [ebp - 0xf0]
cmp dword [ebp - 0xcc], 1
mov byte [esi], al
jne 0x1010c53e
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp dword [eax + 0x168], 0
je 0x1010c983
mov bl, byte [esi]
cmp bl, 0xa7
je 0x1010c8df
cmp bl, 0x4d
jne 0x1010c983
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], ecx
call sym._sqlite3SchemaToIndex
test eax, eax
js 0x1010c983
cmp bl, 0x4d
je 0x1010c912
mov ebx, dword [ebp - 0xc8]
xor edx, edx
mov ebx, dword [ebx]
mov dword [ebp - 0xcc], ebx
jmp 0x1010c91e
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ecx + 0x78]
jmp 0x1010c948
inc edx
mov ebx, dword [ebp - 0xcc]
cmp edx, ebx
jge 0x1010c946
imul ecx, edx, 0x48
mov ebx, dword [ebp - 0xc8]
mov ebx, dword [ebx + ecx + 0x34]
cmp dword [esi + 0x1c], ebx
jne 0x1010c91d
mov ebx, dword [ebp - 0xc8]
mov ebx, dword [ebx + ecx + 0x18]
jmp 0x1010c948
xor ebx, ebx
movsx edx, word [esi + 0x20]
test ebx, ebx
je 0x1010c983
test dx, dx
jns 0x1010c963
movsx edx, word [ebx + 0x20]
mov ecx, str.ROWID
test dx, dx
js 0x1010c96b
shl edx, 4
add edx, dword [ebx + 4]
mov ecx, dword [edx]
mov dword [esp], eax
mov edx, dword [ebx]
mov eax, dword [ebp - 0xc0]
call sym._sqlite3AuthReadCol
cmp eax, 2
jne 0x1010c983
mov byte [esi], 0x79
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x10]
cmp edi, eax
je 0x1010cb8f
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc4], eax
jmp 0x1010c983
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x1010c9b0
mov ecx, dword [eax]
mov eax, dword [ebp - 0xc0]
mov edi, dword [ebp - 0xc4]
xor ebx, ebx
mov eax, dword [eax]
mov edi, dword [edi + 0x18]
mov dl, byte [eax + 0x54]
mov dword [ebp - 0xd8], edi
test byte [esi + 7], 1
je 0x1010c9dd
mov ebx, dword [esi + 0x2c]
cmp byte [ebx + 0x10], 0xa6
jne 0x1010c9dd
xor ebx, ebx
mov edi, dword [esi + 8]
mov dword [ebp - 0xd0], edi
movzx edi, dl
xor edx, edx
mov dword [esp + 4], edx
mov dword [esp], edi
mov edx, dword [ebp - 0xd0]
mov dword [ebp - 0xd4], ecx
call sym._sqlite3FindFunction
mov ecx, dword [ebp - 0xd4]
test eax, eax
mov dword [ebp - 0xc8], eax
jne 0x1010ca47
xor eax, eax
mov dword [esp], edi
mov ecx, 0xfffffffe
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc0]
mov edx, dword [ebp - 0xd0]
mov eax, dword [eax]
call sym._sqlite3FindFunction
mov dword [ebp - 0xc8], eax
test eax, eax
jne 0x1010cca4
jmp 0x1010cc6f
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xc8]
test byte [eax + 5], 4
je 0x1010cb3c
or dword [esi + 4], 0x80000
cmp ecx, 2
jne 0x1010cb20
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x1c]
cmp byte [eax], 0x99
je 0x1010ca91
jmp 0x1010ca88
fstp st(0)
mov dword [esi + 0x1c], 0xffffffff
jmp 0x1010cafb
mov edi, dword [eax + 8]
mov eax, edi
call sym._sqlite3Strlen30
mov dword [esp], 1
lea edx, [ebp - 0x98]
mov ecx, eax
mov eax, edi
call sym._sqlite3AtoF
fld1
fld qword [ebp - 0x98]
fcomi st(1)
fstp st(1)
ja 0x1010ca86
fnstcw word [ebp - 0xba]
fmul dword [0x101f2888]
mov ax, word [ebp - 0xba]
or ah, 0xc
mov word [ebp - 0xbc], ax
fldcw word [ebp - 0xbc]
fistp dword [ebp - 0xd0]
fldcw word [ebp - 0xba]
mov eax, dword [ebp - 0xd0]
mov dword [esi + 0x1c], eax
test eax, eax
jns 0x1010cb3c
mov dword [esp + 8], esi
mov dword [esp + 4], str.second_argument_to__T___must_be_a_constant_between_0.0_and_1.0
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x14]
jmp 0x1010cb3c
mov eax, dword [ebp - 0xc8]
mov edx, 0x800000
mov eax, dword [eax + 0x20]
cmp byte [eax], 0x75
mov eax, 0x7800000
cmove eax, edx
mov dword [esi + 0x1c], eax
xor eax, eax
xor ecx, ecx
mov edx, 0x1f
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 0x20]
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
call sym._sqlite3AuthCheck
mov edi, eax
test eax, eax
je 0x1010cb99
dec edi
jne 0x1010cb8c
mov dword [esp + 8], esi
mov dword [esp + 4], str.not_authorized_to_use_function:__T
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x14]
mov byte [esi], 0x79
mov eax, 1
jmp 0x1010d419
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
test ah, 0x28
je 0x1010cbae
or dword [esi + 4], 0x100000
mov ecx, dword [ebp - 0xc4]
bt eax, 0xb
mov edx, dword [ecx + 0x18]
jb 0x1010cbdd
test dl, 0x2a
je 0x1010cbf2
xor eax, eax
mov dword [esp + 4], esi
mov ecx, str.non_deterministic_functions
mov dword [esp], eax
mov eax, dword [ebp - 0xc0]
call sym._notValidImpl.isra.0
jmp 0x1010cbf2
mov eax, edx
and eax, 0x2e
bt edx, 0x12
mov byte [esi + 2], al
jae 0x1010cbf2
or dword [esi + 4], 0x40000000
xor eax, eax
cmp dword [ebp - 0xd4], 0
setne al
mov dword [ebp - 0xd0], eax
mov eax, dword [ebp - 0xc8]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xc0]
bt edx, 0x12
mov al, byte [eax + 0xd0]
jae 0x1010cc33
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x12], 0
jne 0x1010cc33
mov ecx, dword [ecx]
test byte [ecx + 0x18], 0x20
je 0x1010cc8f
and edx, 0x280000
je 0x1010cc65
cmp al, 1
ja 0x1010ced1
mov eax, dword [ebp - 0xc0]
mov ecx, dword [ebp - 0xc8]
mov edx, esi
call sym._sqlite3ExprFunctionUsable
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jmp 0x1010cc67
cmp al, 1
ja 0x1010ced1
jmp 0x1010ccc4
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010cd1e
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x1010ced1
cmp al, 1
jbe 0x1010cda4
xor eax, eax
mov dword [ebp - 0xc8], eax
jmp 0x1010ced1
mov eax, dword [ebp - 0xc0]
xor edi, edi
mov dword [ebp - 0xd0], edi
cmp byte [eax + 0xd0], 1
ja 0x1010ced1
mov edi, 1
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x18], 0
jne 0x1010d3fb
test ebx, ebx
je 0x1010d3fb
mov dword [esp + 8], esi
mov dword [esp + 4], str._T___may_not_be_used_as_a_window_function
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x14]
cmp dword [ebp - 0xd0], 0
je 0x1010ce4b
mov eax, dword [ebp - 0xc4]
and dword [eax + 0x18], 0xffffbfff
jmp 0x1010ce98
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0xb1], 0
jne 0x1010cd72
xor edx, edx
mov dword [ebp - 0xd0], edx
mov dword [ebp - 0xc8], edx
mov dword [esp + 8], esi
mov dword [esp + 4], str.no_such_function:__T
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xd0]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xd4], eax
inc eax
jmp 0x1010ce3e
test byte [esi + 7], 1
je 0x1010ce4b
mov dword [esp + 8], esi
mov dword [esp + 4], str.FILTER_may_not_be_used_with_non_aggregate__T__
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x14]
jmp 0x1010ce4b
cmp dword [ebp - 0xd4], 0
je 0x1010cd1e
xor ecx, ecx
mov dword [ebp - 0xc8], ecx
mov ecx, 1
mov edx, dword [ebp - 0xc8]
mov eax, dword [ebp - 0xc4]
mov edx, dword [edx + 4]
mov eax, dword [eax + 0x18]
and edx, 0x10000
mov dword [ebp - 0xd4], edx
mov edx, eax
and edx, 1
mov dword [ebp - 0xd0], edx
je 0x1010d3a2
cmp dword [ebp - 0xd4], 0
je 0x1010ce5e
test ebx, ebx
je 0x1010d3b9
bt eax, 0xe
jae 0x1010d3b9
test ecx, ecx
jne 0x1010ce66
test edi, edi
je 0x1010d3e1
mov dword [esp + 8], esi
mov dword [esp + 4], str.wrong_number_of_arguments_to_function__T__
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x14]
mov dword [ebp - 0xd0], eax
inc eax
mov ecx, dword [ebp - 0xc4]
mov dword [ecx + 0x14], eax
test edi, edi
jne 0x1010ce7f
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExprList
jmp 0x1010cb8f
test ebx, ebx
jne 0x1010cdfe
test ecx, ecx
je 0x1010cea8
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0xb1], 0
je 0x1010cd3d
test edi, edi
jne 0x1010ce14
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x18]
test ebx, ebx
je 0x1010ceb0
mov edi, dword [ebp - 0xc4]
and ah, 0xbf
mov dword [edi + 0x18], eax
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExprList
jmp 0x1010cf01
test edi, edi
jne 0x1010ce14
mov edi, dword [ebp - 0xc4]
and eax, 0xffffbffe
mov edx, dword [ebp - 0xcc]
mov dword [edi + 0x18], eax
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExprList
jmp 0x1010d144
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 8]
test byte [esi + 7], 1
je 0x1010cee7
call sym._sqlite3WalkExprList
jmp 0x1010cef9
call sym._sqlite3WalkExprList
cmp dword [ebp - 0xd0], 0
je 0x1010cb8f
test ebx, ebx
je 0x1010d144
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x1c]
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010cf5f
mov edx, dword [ebx + 8]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExprList
mov edx, dword [ebx + 0xc]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExprList
mov edx, dword [ebx + 0x28]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExpr
mov eax, dword [ebp - 0xcc]
mov edx, ebx
call sym._sqlite3WindowLink
mov eax, dword [ebp - 0xc4]
or dword [eax + 0x18], 0x8000
jmp 0x1010d246
xor edx, edx
cmp dword [ebp - 0xcc], 0
je 0x1010cf73
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0x48]
mov ecx, dword [ebx]
test ecx, ecx
je 0x1010d00a
cmp byte [ebx + 0x10], 0
jne 0x1010d00a
mov eax, dword [ebp - 0xc0]
call sym._windowFind
mov esi, eax
test eax, eax
je 0x1010d12d
mov edx, dword [eax + 8]
mov eax, dword [ebp - 0xc0]
xor ecx, ecx
mov eax, dword [eax]
call sym._sqlite3ExprListDup
mov edx, dword [esi + 0xc]
xor ecx, ecx
mov dword [ebx + 8], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
call sym._sqlite3ExprListDup
mov edx, dword [esi + 0x18]
xor ecx, ecx
mov dword [ebx + 0xc], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
call sym._sqlite3ExprDup
mov edx, dword [esi + 0x1c]
xor ecx, ecx
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
call sym._sqlite3ExprDup
mov dword [ebx + 0x1c], eax
mov al, byte [esi + 0x11]
mov byte [ebx + 0x11], al
mov al, byte [esi + 0x12]
mov byte [ebx + 0x12], al
mov al, byte [esi + 0x10]
mov byte [ebx + 0x10], al
mov al, byte [esi + 0x14]
mov byte [ebx + 0x14], al
jmp 0x1010d019
mov eax, dword [ebp - 0xc0]
mov ecx, edx
mov edx, ebx
call sym._sqlite3WindowChain
cmp byte [ebx + 0x10], 0x59
jne 0x1010d041
cmp dword [ebx + 0x18], 0
jne 0x1010d02b
cmp dword [ebx + 0x1c], 0
je 0x1010d041
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x1010d037
cmp dword [eax], 1
je 0x1010d041
mov dword [esp + 4], str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
jmp 0x1010d067
mov eax, dword [ebp - 0xc8]
test byte [eax + 6], 1
je 0x1010d124
mov eax, dword [ebp - 0xc0]
cmp dword [ebx + 0x28], 0
mov eax, dword [eax]
je 0x1010d07a
mov dword [esp + 4], str.FILTER_clause_may_only_be_used_with_aggregate_window_functions
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1010d124
lea edi, [ebp - 0x98]
mov esi, 0x10163280
mov ecx, 0x20
rep movsd dword es:[edi], dword [esi]
mov edi, dword [ebp - 0xc8]
lea edx, [ebp - 0x98]
xor esi, esi
mov ecx, dword [edi + 0x20]
cmp ecx, dword [edx]
jne 0x1010d117
mov edx, dword [ebx + 0x18]
mov dword [esp], eax
shl esi, 4
mov dword [esp + 4], edx
mov dword [ebp - 0xd0], eax
call sym._sqlite3ExprDelete
mov edx, dword [ebx + 0x1c]
mov dword [esp + 4], edx
mov eax, dword [ebp - 0xd0]
mov dword [esp], eax
call sym._sqlite3ExprDelete
mov edx, dword [ebp + esi - 0x94]
xor eax, eax
mov dword [ebx + 0x18], eax
mov byte [ebx + 0x10], dl
mov edx, dword [ebp + esi - 0x90]
mov dword [ebx + 0x1c], eax
mov eax, dword [ebp - 0xd0]
mov byte [ebx + 0x11], dl
mov ecx, dword [ebp + esi - 0x8c]
cmp dl, 0x56
mov byte [ebx + 0x14], 0
mov byte [ebx + 0x12], cl
jne 0x1010d124
mov ecx, 0x101ebbc0
mov edx, 0x9b
call sym._sqlite3Expr
mov dword [ebx + 0x18], eax
jmp 0x1010d124
inc esi
add edx, 0x10
cmp esi, 8
jne 0x1010d09d
mov eax, dword [ebp - 0xc8]
mov dword [ebx + 0x2c], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x1010cf1f
jmp case.0x1010b929.1
mov byte [esi], 0xa8
mov byte [esi + 2], 0
test byte [esi + 7], 1
je 0x1010d15f
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExpr
mov ebx, dword [ebp - 0xc4]
xor eax, eax
mov ecx, 6
lea edi, [ebp - 0x98]
mov edx, dword [ebx + 4]
rep stosd dword es:[edi], eax
mov ecx, 4
lea edi, [ebp - 0xa8]
mov dword [ebp - 0x94], sym._exprRefToSrcList
rep stosd dword es:[edi], eax
lea eax, [ebp - 0xb0]
mov dword [ebp - 0x90], sym._selectRefEnter
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xc0]
mov dword [ebp - 0x8c], sym._selectRefLeave
mov eax, dword [eax]
mov dword [ebp - 0xac], edx
mov edx, dword [esi + 0x14]
mov dword [ebp - 0xb0], eax
lea eax, [ebp - 0x98]
call sym._sqlite3WalkExprList
test byte [esi + 7], 1
je 0x1010d1e4
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
lea eax, [ebp - 0x98]
call sym._sqlite3WalkExpr
mov eax, dword [ebp - 0xa0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
mov dword [esp], eax
call sym._sqlite3DbFree
mov eax, dword [ebp - 0x84]
test al, 1
jne 0x1010d21d
test ax, ax
je 0x1010d21d
inc byte [esi + 2]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x1010d165
jmp 0x1010d246
test ebx, ebx
je 0x1010d246
cmp dword [ebp - 0xc8], 0
je 0x1010d246
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
xor eax, 0x8000000
and eax, 0x8001000
or eax, dword [ebx + 0x18]
or eax, 0x10
mov dword [ebx + 0x18], eax
mov eax, dword [ebp - 0xd8]
mov edi, dword [ebp - 0xc4]
and eax, 0x4001
or dword [edi + 0x18], eax
jmp 0x1010cb8f
test byte [esi + 5], 0x10
je case.0x1010b929.1
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
test dl, 0x2e
je 0x1010d293
mov dword [esp + 4], esi
mov ecx, str.subqueries
mov dword [esp], esi
mov eax, dword [ebp - 0xc0]
call sym._notValidImpl.isra.0
jmp 0x1010d29e
mov edx, dword [esi + 0x14]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkSelect
mov eax, dword [ebp - 0xc4]
cmp dword [eax + 0x10], ebx
je case.0x1010b929.1
or dword [esi + 4], 0x40
or dword [eax + 0x18], 0x40
jmp case.0x1010b929.1
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x18]
test dl, 0x2e
je case.0x1010b929.1
mov dword [esp + 4], esi
mov ecx, str.parameters
mov dword [esp], esi
mov eax, dword [ebp - 0xc0]
call sym._notValidImpl.isra.0
jmp case.0x1010b929.1
mov eax, dword [esi + 0x10]
call sym._sqlite3ExprSkipCollateAndLikely
mov ebx, eax
test eax, eax
je case.0x1010b929.3
mov al, byte [eax]
cmp al, 0x3b
je 0x1010d300
cmp al, 0xaa
jne case.0x1010b929.3
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._resolveExprStep
cmp eax, 2
je 0x1010d419
cmp byte [ebx], 0xaa
jne case.0x1010b929.3
mov al, byte [esi]
mov byte [esi], 0xaf
mov byte [esi + 2], al
xor eax, eax
jmp 0x1010d419
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
jne case.0x1010b929.1
mov eax, dword [esi + 0xc]
call sym._sqlite3ExprVectorSize
cmp byte [esi], 0x30
mov ebx, eax
jne 0x1010d35d
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 8]
call sym._sqlite3ExprVectorSize
cmp ebx, eax
jne 0x1010d369
mov eax, dword [edi + 0x1c]
jmp 0x1010d360
mov eax, dword [esi + 0x10]
call sym._sqlite3ExprVectorSize
cmp eax, ebx
je case.0x1010b929.1
mov dword [esp + 4], str.row_value_misused
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xc0]
mov edx, esi
mov eax, dword [eax]
call sym._sqlite3RecordErrorOffsetOfExpr
mov eax, dword [ebp - 0xc0]
cmp dword [eax + 0x24], 0
setne al
movzx eax, al
add eax, eax
jmp 0x1010d419
mov eax, dword [ebp - 0xd4]
mov edx, str.window
or eax, ebx
mov eax, str.aggregate
cmovne eax, edx
jmp 0x1010d3be
mov eax, str.window
mov dword [esp + 0xc], esi
mov dword [esp + 8], eax
mov dword [esp + 4], str.misuse_of__s_function__T__
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1010cd96
mov edi, dword [ebp - 0xc4]
and ah, 0xbf
mov edx, dword [ebp - 0xcc]
mov dword [edi + 0x18], eax
mov eax, dword [ebp + 8]
jmp 0x1010cee0
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
jne 0x1010cdbe
test edi, edi
je 0x1010cd72
xor edi, edi
jmp 0x1010ce14
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret