Function at 0x1010bb08
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 0x1010bb84
ja 0x1010bb50
cmp al, 0x14
je case.0x1010bb49.4
sub eax, 0x2d
cmp al, 0xe
ja case.0x1010bb49.1
movzx eax, al
jmp dword [eax*4 + 0x101e8ddc]
cmp al, 0x9c
je 0x1010d4da
ja 0x1010bb6f
cmp al, 0x8a
je case.0x1010bb49.4
cmp al, 0x8d
je 0x1010bc93
jmp case.0x1010bb49.1
cmp al, 0xab
je case.0x1010bb49.0
cmp al, 0xac
je 0x1010cbbf
jmp case.0x1010bb49.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.0x1010bb49.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 0x1010bbc6
cmp eax, 7
jle 0x1010bbaf
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 0x1010cdaf
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
ja 0x1010cdaf
cmp byte [esi], 0x33
mov eax, dword [esi + 4]
jne 0x1010bc0c
or eax, 0x10000000
mov ecx, str.true
jmp 0x1010bc16
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 0x1010bc42
cmp edx, 7
jle 0x1010bc1f
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 0x1010cdaf
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 0x1010bdf2
mov eax, dword [ebp - 0xc4]
mov ebx, dword [esi + 0xc]
mov edx, dword [eax + 0x18]
test dl, 0x28
je 0x1010bcbd
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 0x1010bcd6
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x1010bcde
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 0x1010bd22
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 0x1010be00
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x18]
mov ebx, eax
mov dword [ebp - 0xcc], eax
and ebx, 6
jne 0x1010bdf2
mov eax, dword [ebp - 0xd8]
mov edi, dword [eax + 0x14]
cmp ebx, edi
jge 0x1010bdb6
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 0x1010bdb3
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xe4], eax
jmp 0x1010be00
inc ebx
jmp 0x1010bd77
mov dword [ebp - 0xe4], 0
jne 0x1010be00
mov edx, dword [ebp - 0xdc]
mov eax, str.main
call sym._sqlite3StrICmp
test eax, eax
jne 0x1010be00
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 0x1010be00
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 0x1010c25d
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 0x1010c220
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xcc], eax
test byte [ebx + 0x29], 0x20
je 0x1010bfdf
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 0x1010bfc4
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 0x1010bfb2
cmp dword [ebp - 0xe0], 0
je 0x1010bf40
test byte [ebx + 0x29], 4
je 0x1010beef
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0xd4]
call sym._sqlite3IdListIndex
test eax, eax
jns 0x1010bf11
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 0x1010bf68
mov al, byte [ebx + 0x24]
test al, 0x10
je 0x1010bfb2
test al, 8
jne 0x1010bf4a
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 0x1010bf68
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 0x1010c208
mov dword [ebp - 0x104], 1
mov dword [ebp - 0xec], 2
inc dword [ebp - 0xe8]
add dword [ebp - 0x108], 0x14
jmp 0x1010be92
cmp dword [ebp - 0xc8], 0
je 0x1010c212
cmp dword [ebp - 0x104], 0
je 0x1010bfec
jmp 0x1010c212
cmp dword [ebp - 0xc8], 0
je 0x1010c07f
cmp dword [ebp - 0xdc], 0
je 0x1010c02c
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe4]
cmp dword [eax + 0x3c], ecx
jne 0x1010c212
test ecx, ecx
jne 0x1010c02c
mov dword [esp + 4], 0x101e8b66
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x1010c212
mov ecx, dword [ebx + 0xc]
mov eax, ecx
test ecx, ecx
jne 0x1010c03d
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 0x1010c212
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010c07f
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x1010c07f
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 0x1010c1e5
mov al, byte [ebp - 0xf8]
cmp al, byte [ecx + 0xa]
jne 0x1010c1d7
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 0x1010c1d7
cmp dword [ebp - 0xe0], 0
mov al, byte [ebx + 0x29]
je 0x1010c190
test al, 4
je 0x1010c119
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0xd4]
call sym._sqlite3IdListIndex
mov ecx, dword [ebp - 0x108]
test eax, eax
jns 0x1010c13b
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 0x1010c190
mov al, byte [ebx + 0x24]
test al, 0x10
je 0x1010c1d7
test al, 8
jne 0x1010c172
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 0x1010c190
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 0x1010c1cf
mov ecx, dword [ebp - 0xe8]
mov word [esi + 0x20], cx
test al, al
jne 0x1010c1c0
inc dword [ebp - 0xe0]
jmp 0x1010c200
mov edx, dword [ebp - 0xe8]
mov eax, ebx
call sym._sqlite3SrcItemColumnUsed
jmp 0x1010c1b8
mov word [esi + 0x20], 0xffff
jmp 0x1010c1b4
inc dword [ebp - 0xe8]
add ecx, 0x10
jmp 0x1010c0ab
cmp dword [ebp - 0xe0], 0
jne 0x1010c212
mov eax, dword [ebp - 0xcc]
test byte [eax + 0x1d], 2
jne 0x1010c212
inc dword [ebp - 0xec]
mov dword [ebp - 0xd0], ebx
jmp 0x1010c212
mov dword [ebp - 0xec], 2
inc dword [ebp - 0xfc]
add ebx, 0x48
jmp 0x1010be48
cmp dword [ebp - 0xd0], 0
je 0x1010c25d
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 0x1010c254
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 0x1010c5f9
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1010c3be
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x95], 0
movzx ebx, byte [eax + 0x94]
je 0x1010c30c
mov ecx, dword [edi + 0x18]
bt ecx, 0xa
jae 0x1010c3a6
cmp dword [ebp - 0xc8], 0
jne 0x1010c2cd
xor eax, eax
cmp ebx, 0x80
setne al
mov dword [esi + 0x1c], eax
jmp 0x1010c42f
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 0x1010c3a2
xor eax, eax
cmp ebx, 0x80
setne al
test ecx, ecx
mov dword [esi + 0x1c], eax
jmp 0x1010c34d
cmp dword [ebp - 0xc8], 0
setne cl
cmp ebx, 0x80
je 0x1010c358
test cl, cl
je 0x1010c358
mov edx, dword [ebp - 0xc8]
mov eax, 0x101e8b68
mov byte [ebp - 0xe8], cl
call sym._sqlite3StrICmp
mov cl, byte [ebp - 0xe8]
test eax, eax
jne 0x1010c358
mov dword [esi + 0x1c], 1
test byte [edi + 0x19], 2
jne 0x1010c3f9
jmp 0x1010c42f
cmp ebx, 0x7f
je 0x1010c394
test cl, cl
je 0x1010c394
mov edx, dword [ebp - 0xc8]
mov eax, 0x101e8b6c
call sym._sqlite3StrICmp
test eax, eax
mov eax, dword [edi + 0x18]
jne 0x1010c388
xor edx, edx
bt eax, 9
mov dword [esi + 0x1c], edx
jb 0x1010c3f9
jmp 0x1010c42f
bt eax, 9
jae 0x1010c607
jmp 0x1010c3d5
test byte [edi + 0x19], 2
je 0x1010c60f
test cl, cl
jmp 0x1010c3cf
test ecx, ecx
jmp 0x1010c3cf
bt ecx, 9
jae 0x1010c607
cmp dword [ebp - 0xc8], 0
jne 0x1010c3d5
jmp 0x1010c607
test byte [edi + 0x19], 2
je 0x1010c60f
cmp dword [ebp - 0xc8], 0
je 0x1010c60f
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1010c60f
mov edx, dword [ebp - 0xc8]
mov eax, str.excluded
call sym._sqlite3StrICmp
test eax, eax
je 0x1010c414
jmp 0x1010c60f
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1010c42f
mov edx, dword [ebp - 0xc8]
mov eax, str.excluded
call sym._sqlite3StrICmp
test eax, eax
jne 0x1010c42f
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x18]
mov dword [esi + 0x1c], 2
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1010c60f
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 0x1010c4b2
mov al, byte [ebp - 0xf4]
cmp al, byte [ebx + 0xa]
jne 0x1010c4ac
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 0x1010c4ac
mov eax, dword [ebp - 0xe0]
movsx eax, word [eax + 0x20]
cmp eax, ecx
jne 0x1010c4e5
jmp 0x1010c4e2
inc ecx
add ebx, 0x10
jmp 0x1010c46a
mov eax, dword [ebp - 0xd4]
call sym._sqlite3IsRowid
test eax, eax
je 0x1010c607
mov eax, dword [ebp - 0xe0]
test byte [eax + 0x1d], 2
jne 0x1010c60f
cmp dword [ebp - 0xe8], 0
js 0x1010c60f
or ecx, 0xffffffff
mov eax, dword [esi + 0x1c]
cmp eax, 2
jne 0x1010c52d
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010c515
mov eax, dword [ebp - 0xe0]
mov word [esi + 0x20], cx
mov dword [ebp - 0xf0], 0xa7
mov dword [esi + 0x2c], eax
jmp 0x1010c575
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 0x1010c568
mov ebx, dword [ebp - 0xe0]
mov dword [esi + 0x2c], ebx
mov ebx, dword [ebp - 0xc0]
cmp byte [ebx + 0x95], 0
je 0x1010c58c
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 0x1010c60f
mov word [esi + 0x20], cx
cmp ecx, 0xffffffff
jne 0x1010c59b
mov byte [esi + 1], 0x44
jmp 0x1010c5c8
test eax, eax
mov eax, dword [ebp - 0xc0]
jne 0x1010c5d4
mov edx, dword [eax + 0x8c]
or eax, 0xffffffff
cmp ecx, 0x1f
jg 0x1010c5ba
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 0x1010c575
mov edx, dword [eax + 0x90]
or eax, 0xffffffff
cmp ecx, 0x1f
jg 0x1010c5e9
mov eax, 1
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x90], edx
jmp 0x1010c5c8
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
jmp 0x1010c60f
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x1010c7f3
cmp dword [ebp - 0xec], 1
jne 0x1010c66b
cmp dword [ebp - 0xd0], 0
je 0x1010c678
test byte [edi + 0x18], 0x28
jne 0x1010c678
mov eax, dword [ebp - 0xd4]
call sym._sqlite3IsRowid
test eax, eax
je 0x1010c678
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
test byte [eax + 0x1d], 2
jne 0x1010c678
mov word [esi + 0x20], 0xffff
mov byte [esi + 1], 0x44
mov dword [ebp - 0xcc], 1
jmp 0x1010ca5e
cmp dword [ebp - 0xcc], 0
jne 0x1010c7f3
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xe0], eax
cmp byte [ebp - 0xe0], 0
jns 0x1010c7da
cmp dword [ebp - 0xc8], 0
jne 0x1010c7da
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 0x1010c7da
imul eax, dword [ebp - 0xcc], 0x14
lea edx, [ebx + eax]
test byte [edx + 0x14], 3
jne 0x1010c7cf
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 0x1010c7cf
mov eax, dword [edx + 8]
mov edx, dword [eax + 4]
test byte [ebp - 0xe0], 1
jne 0x1010c72c
test dl, 0x10
je 0x1010c72c
mov dword [esp + 8], ecx
mov dword [esp + 4], str.misuse_of_aliased_aggregate__s
jmp 0x1010c750
bt edx, 0xf
jae 0x1010c768
bt dword [ebp - 0xe0], 0xe
jae 0x1010c744
cmp dword [ebp - 0xc4], edi
je 0x1010c768
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 0x1010d639
call sym._sqlite3ExprVectorSize
dec eax
je 0x1010c788
mov dword [esp + 4], str.row_value_misused
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1010c75e
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 0x1010cada
mov eax, dword [eax + 0x10c]
mov ecx, esi
xor edx, edx
call sym._sqlite3RenameTokenRemap.isra.0
jmp 0x1010cada
inc dword [ebp - 0xcc]
jmp 0x1010c6ae
mov edi, dword [edi + 0xc]
inc dword [ebp - 0x100]
test edi, edi
jne 0x1010be24
xor eax, eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
or eax, dword [ebp - 0xcc]
jne 0x1010c8c9
test byte [esi + 4], 0x80
je 0x1010c893
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0xb1], 0
jne 0x1010c85e
mov ebx, dword [ebp - 0xc4]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
test byte [ebx + 0x1a], 1
je 0x1010c853
mov ecx, eax
and ecx, 0x10000001
xor ecx, 1
or ecx, 0
jne 0x1010c84d
mov ecx, eax
and ecx, 0x40000000
or ecx, 0
jne 0x1010c85e
shrd eax, edx, 0x1d
jmp 0x1010c857
shrd eax, edx, 0x1e
and eax, 1
test eax, eax
je 0x1010c893
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 0x1010cdaf
mov eax, esi
call sym._sqlite3ExprIdToTrueFalse
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x1010cdaf
mov eax, dword [ebp - 0x98]
test eax, eax
jne 0x1010c8e4
cmp dword [ebp - 0xdc], 0
mov eax, str.no_such_column
jne 0x1010c9a5
jmp 0x1010ca18
cmp dword [ebp - 0xcc], 1
je 0x1010ca5e
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x1010c988
mov ebx, dword [ebp - 0xcc]
lea edx, [ebx - 1]
cmp dword [eax], edx
jne 0x1010c96e
mov eax, dword [esi + 4]
bt eax, 0x17
jae 0x1010c904
and eax, 0xff7fffff
mov dword [esi + 4], eax
jmp 0x1010c938
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 0x1010cada
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 0x1010c9df
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 0x1010ca3c
cmp dword [ebp - 0xc8], 0
je 0x1010ca18
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 0x1010ca3c
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 0x1010caa2
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 0x1010cac5
cmp dword [ebp - 0xd0], 0
je 0x1010cac5
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 0x1010c75e
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp dword [eax + 0x168], 0
je 0x1010cba3
mov bl, byte [esi]
cmp bl, 0xa7
je 0x1010caff
cmp bl, 0x4d
jne 0x1010cba3
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], ecx
call sym._sqlite3SchemaToIndex
test eax, eax
js 0x1010cba3
cmp bl, 0x4d
je 0x1010cb32
mov ebx, dword [ebp - 0xc8]
xor edx, edx
mov ebx, dword [ebx]
mov dword [ebp - 0xcc], ebx
jmp 0x1010cb3e
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ecx + 0x78]
jmp 0x1010cb68
inc edx
mov ebx, dword [ebp - 0xcc]
cmp edx, ebx
jge 0x1010cb66
imul ecx, edx, 0x48
mov ebx, dword [ebp - 0xc8]
mov ebx, dword [ebx + ecx + 0x34]
cmp dword [esi + 0x1c], ebx
jne 0x1010cb3d
mov ebx, dword [ebp - 0xc8]
mov ebx, dword [ebx + ecx + 0x18]
jmp 0x1010cb68
xor ebx, ebx
movsx edx, word [esi + 0x20]
test ebx, ebx
je 0x1010cba3
test dx, dx
jns 0x1010cb83
movsx edx, word [ebx + 0x20]
mov ecx, str.ROWID
test dx, dx
js 0x1010cb8b
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 0x1010cba3
mov byte [esi], 0x79
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x10]
cmp edi, eax
je 0x1010cdaf
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc4], eax
jmp 0x1010cba3
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x1010cbd0
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 0x1010cbfd
mov ebx, dword [esi + 0x2c]
cmp byte [ebx + 0x10], 0xa6
jne 0x1010cbfd
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 0x1010cc67
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 0x1010cec4
jmp 0x1010ce8f
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 0x1010cd5c
or dword [esi + 4], 0x80000
cmp ecx, 2
jne 0x1010cd40
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x1c]
cmp byte [eax], 0x99
je 0x1010ccb1
jmp 0x1010cca8
fstp st(0)
mov dword [esi + 0x1c], 0xffffffff
jmp 0x1010cd1b
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 0x1010cca6
fnstcw word [ebp - 0xba]
fmul dword [0x101ee570]
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 0x1010cd5c
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 0x1010cd5c
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 0x1010cdb9
dec edi
jne 0x1010cdac
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 0x1010d639
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
test ah, 0x28
je 0x1010cdce
or dword [esi + 4], 0x100000
mov ecx, dword [ebp - 0xc4]
bt eax, 0xb
mov edx, dword [ecx + 0x18]
jb 0x1010cdfd
test dl, 0x2a
je 0x1010ce12
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 0x1010ce12
mov eax, edx
and eax, 0x2e
bt edx, 0x12
mov byte [esi + 2], al
jae 0x1010ce12
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 0x1010ce53
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x12], 0
jne 0x1010ce53
mov ecx, dword [ecx]
test byte [ecx + 0x18], 0x20
je 0x1010ceaf
and edx, 0x280000
je 0x1010ce85
cmp al, 1
ja 0x1010d0f1
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 0x1010ce87
cmp al, 1
ja 0x1010d0f1
jmp 0x1010cee4
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x1010cf3e
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x1010d0f1
cmp al, 1
jbe 0x1010cfc4
xor eax, eax
mov dword [ebp - 0xc8], eax
jmp 0x1010d0f1
mov eax, dword [ebp - 0xc0]
xor edi, edi
mov dword [ebp - 0xd0], edi
cmp byte [eax + 0xd0], 1
ja 0x1010d0f1
mov edi, 1
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x18], 0
jne 0x1010d61b
test ebx, ebx
je 0x1010d61b
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 0x1010d06b
mov eax, dword [ebp - 0xc4]
and dword [eax + 0x18], 0xffffbfff
jmp 0x1010d0b8
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0xb1], 0
jne 0x1010cf92
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 0x1010d05e
test byte [esi + 7], 1
je 0x1010d06b
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 0x1010d06b
cmp dword [ebp - 0xd4], 0
je 0x1010cf3e
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 0x1010d5c2
cmp dword [ebp - 0xd4], 0
je 0x1010d07e
test ebx, ebx
je 0x1010d5d9
bt eax, 0xe
jae 0x1010d5d9
test ecx, ecx
jne 0x1010d086
test edi, edi
je 0x1010d601
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 0x1010d09f
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExprList
jmp 0x1010cdaf
test ebx, ebx
jne 0x1010d01e
test ecx, ecx
je 0x1010d0c8
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0xb1], 0
je 0x1010cf5d
test edi, edi
jne 0x1010d034
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x18]
test ebx, ebx
je 0x1010d0d0
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 0x1010d121
test edi, edi
jne 0x1010d034
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 0x1010d364
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 8]
test byte [esi + 7], 1
je 0x1010d107
call sym._sqlite3WalkExprList
jmp 0x1010d119
call sym._sqlite3WalkExprList
cmp dword [ebp - 0xd0], 0
je 0x1010cdaf
test ebx, ebx
je 0x1010d364
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 0x1010d17f
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 0x1010d466
xor edx, edx
cmp dword [ebp - 0xcc], 0
je 0x1010d193
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0x48]
mov ecx, dword [ebx]
test ecx, ecx
je 0x1010d22a
cmp byte [ebx + 0x10], 0
jne 0x1010d22a
mov eax, dword [ebp - 0xc0]
call sym._windowFind
mov esi, eax
test eax, eax
je 0x1010d34d
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 0x1010d239
mov eax, dword [ebp - 0xc0]
mov ecx, edx
mov edx, ebx
call sym._sqlite3WindowChain
cmp byte [ebx + 0x10], 0x59
jne 0x1010d261
cmp dword [ebx + 0x18], 0
jne 0x1010d24b
cmp dword [ebx + 0x1c], 0
je 0x1010d261
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x1010d257
cmp dword [eax], 1
je 0x1010d261
mov dword [esp + 4], str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
jmp 0x1010d287
mov eax, dword [ebp - 0xc8]
test byte [eax + 6], 1
je 0x1010d344
mov eax, dword [ebp - 0xc0]
cmp dword [ebx + 0x28], 0
mov eax, dword [eax]
je 0x1010d29a
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 0x1010d344
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 0x1010d337
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 0x1010d344
mov ecx, 0x101e78a8
mov edx, 0x9b
call sym._sqlite3Expr
mov dword [ebx + 0x18], eax
jmp 0x1010d344
inc esi
add edx, 0x10
cmp esi, 8
jne 0x1010d2bd
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 0x1010d13f
jmp case.0x1010bb49.1
mov byte [esi], 0xa8
mov byte [esi + 2], 0
test byte [esi + 7], 1
je 0x1010d37f
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 0x1010d404
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 0x1010d43d
test ax, ax
je 0x1010d43d
inc byte [esi + 2]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x1010d385
jmp 0x1010d466
test ebx, ebx
je 0x1010d466
cmp dword [ebp - 0xc8], 0
je 0x1010d466
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 0x1010cdaf
test byte [esi + 5], 0x10
je case.0x1010bb49.1
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
test dl, 0x2e
je 0x1010d4b3
mov dword [esp + 4], esi
mov ecx, str.subqueries
mov dword [esp], esi
mov eax, dword [ebp - 0xc0]
call sym._notValidImpl.isra.0
jmp 0x1010d4be
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.0x1010bb49.1
or dword [esi + 4], 0x40
or dword [eax + 0x18], 0x40
jmp case.0x1010bb49.1
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x18]
test dl, 0x2e
je case.0x1010bb49.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.0x1010bb49.1
mov eax, dword [esi + 0x10]
call sym._sqlite3ExprSkipCollateAndLikely
mov ebx, eax
test eax, eax
je case.0x1010bb49.3
mov al, byte [eax]
cmp al, 0x3b
je 0x1010d520
cmp al, 0xaa
jne case.0x1010bb49.3
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._resolveExprStep
cmp eax, 2
je 0x1010d639
cmp byte [ebx], 0xaa
jne case.0x1010bb49.3
mov al, byte [esi]
mov byte [esi], 0xaf
mov byte [esi + 2], al
xor eax, eax
jmp 0x1010d639
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
jne case.0x1010bb49.1
mov eax, dword [esi + 0xc]
call sym._sqlite3ExprVectorSize
cmp byte [esi], 0x30
mov ebx, eax
jne 0x1010d57d
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 8]
call sym._sqlite3ExprVectorSize
cmp ebx, eax
jne 0x1010d589
mov eax, dword [edi + 0x1c]
jmp 0x1010d580
mov eax, dword [esi + 0x10]
call sym._sqlite3ExprVectorSize
cmp eax, ebx
je case.0x1010bb49.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 0x1010d639
mov eax, dword [ebp - 0xd4]
mov edx, str.window
or eax, ebx
mov eax, str.aggregate
cmovne eax, edx
jmp 0x1010d5de
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 0x1010cfb6
mov edi, dword [ebp - 0xc4]
and ah, 0xbf
mov edx, dword [ebp - 0xcc]
mov dword [edi + 0x18], eax
mov eax, dword [ebp + 8]
jmp 0x1010d100
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
jne 0x1010cfde
test edi, edi
je 0x1010cf92
xor edi, edi
jmp 0x1010d034
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret