Function at 0x10116798
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 0x10116814
ja 0x101167e0
cmp al, 0x14
je case.0x101167d9.4
sub eax, 0x2d
cmp al, 0xe
ja case.0x101167d9.1
movzx eax, al
jmp dword [eax*4 + 0x101f86dc]
cmp al, 0x9c
je 0x1011816a
ja 0x101167ff
cmp al, 0x8a
je case.0x101167d9.4
cmp al, 0x8d
je 0x10116923
jmp case.0x101167d9.1
cmp al, 0xab
je case.0x101167d9.0
cmp al, 0xac
je 0x1011784f
jmp case.0x101167d9.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.0x101167d9.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 0x10116856
cmp eax, 7
jle 0x1011683f
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 0x10117a3f
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
ja 0x10117a3f
cmp byte [esi], 0x33
mov eax, dword [esi + 4]
jne 0x1011689c
or eax, 0x10000000
mov ecx, str.true
jmp 0x101168a6
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 0x101168d2
cmp edx, 7
jle 0x101168af
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 0x10117a3f
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 0x10116a82
mov eax, dword [ebp - 0xc4]
mov ebx, dword [esi + 0xc]
mov edx, dword [eax + 0x18]
test dl, 0x28
je 0x1011694d
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 0x10116966
mov ebx, dword [ecx + 0xc]
mov ecx, dword [ecx + 0x10]
jmp 0x1011696e
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 0x101169b2
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 0x10116a90
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x18]
mov ebx, eax
mov dword [ebp - 0xcc], eax
and ebx, 6
jne 0x10116a82
mov eax, dword [ebp - 0xd8]
mov edi, dword [eax + 0x14]
cmp ebx, edi
jge 0x10116a46
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 0x10116a43
mov eax, dword [ecx + 0xc]
mov dword [ebp - 0xe4], eax
jmp 0x10116a90
inc ebx
jmp 0x10116a07
mov dword [ebp - 0xe4], 0
jne 0x10116a90
mov edx, dword [ebp - 0xdc]
mov eax, str.main
call sym._sqlite3StrICmp
test eax, eax
jne 0x10116a90
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 0x10116a90
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 0x10116eed
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 0x10116eb0
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0xcc], eax
test byte [ebx + 0x29], 0x20
je 0x10116c6f
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 0x10116c54
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 0x10116c42
cmp dword [ebp - 0xe0], 0
je 0x10116bd0
test byte [ebx + 0x29], 4
je 0x10116b7f
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0xd4]
call sym._sqlite3IdListIndex
test eax, eax
jns 0x10116ba1
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 0x10116bf8
mov al, byte [ebx + 0x24]
test al, 0x10
je 0x10116c42
test al, 8
jne 0x10116bda
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 0x10116bf8
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 0x10116e98
mov dword [ebp - 0x104], 1
mov dword [ebp - 0xec], 2
inc dword [ebp - 0xe8]
add dword [ebp - 0x108], 0x14
jmp 0x10116b22
cmp dword [ebp - 0xc8], 0
je 0x10116ea2
cmp dword [ebp - 0x104], 0
je 0x10116c7c
jmp 0x10116ea2
cmp dword [ebp - 0xc8], 0
je 0x10116d0f
cmp dword [ebp - 0xdc], 0
je 0x10116cbc
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0xe4]
cmp dword [eax + 0x3c], ecx
jne 0x10116ea2
test ecx, ecx
jne 0x10116cbc
mov dword [esp + 4], 0x101f8466
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x10116ea2
mov ecx, dword [ebx + 0xc]
mov eax, ecx
test ecx, ecx
jne 0x10116ccd
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 0x10116ea2
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x10116d0f
mov ecx, dword [ebp - 0xe8]
test ecx, ecx
je 0x10116d0f
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 0x10116e75
mov al, byte [ebp - 0xf8]
cmp al, byte [ecx + 0xa]
jne 0x10116e67
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 0x10116e67
cmp dword [ebp - 0xe0], 0
mov al, byte [ebx + 0x29]
je 0x10116e20
test al, 4
je 0x10116da9
mov eax, dword [ebx + 0x30]
mov edx, dword [ebp - 0xd4]
call sym._sqlite3IdListIndex
mov ecx, dword [ebp - 0x108]
test eax, eax
jns 0x10116dcb
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 0x10116e20
mov al, byte [ebx + 0x24]
test al, 0x10
je 0x10116e67
test al, 8
jne 0x10116e02
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 0x10116e20
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 0x10116e5f
mov ecx, dword [ebp - 0xe8]
mov word [esi + 0x20], cx
test al, al
jne 0x10116e50
inc dword [ebp - 0xe0]
jmp 0x10116e90
mov edx, dword [ebp - 0xe8]
mov eax, ebx
call sym._sqlite3SrcItemColumnUsed
jmp 0x10116e48
mov word [esi + 0x20], 0xffff
jmp 0x10116e44
inc dword [ebp - 0xe8]
add ecx, 0x10
jmp 0x10116d3b
cmp dword [ebp - 0xe0], 0
jne 0x10116ea2
mov eax, dword [ebp - 0xcc]
test byte [eax + 0x1d], 2
jne 0x10116ea2
inc dword [ebp - 0xec]
mov dword [ebp - 0xd0], ebx
jmp 0x10116ea2
mov dword [ebp - 0xec], 2
inc dword [ebp - 0xfc]
add ebx, 0x48
jmp 0x10116ad8
cmp dword [ebp - 0xd0], 0
je 0x10116eed
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 0x10116ee4
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 0x10117289
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax + 0x78]
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1011704e
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0x95], 0
movzx ebx, byte [eax + 0x94]
je 0x10116f9c
mov ecx, dword [edi + 0x18]
bt ecx, 0xa
jae 0x10117036
cmp dword [ebp - 0xc8], 0
jne 0x10116f5d
xor eax, eax
cmp ebx, 0x80
setne al
mov dword [esi + 0x1c], eax
jmp 0x101170bf
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 0x10117032
xor eax, eax
cmp ebx, 0x80
setne al
test ecx, ecx
mov dword [esi + 0x1c], eax
jmp 0x10116fdd
cmp dword [ebp - 0xc8], 0
setne cl
cmp ebx, 0x80
je 0x10116fe8
test cl, cl
je 0x10116fe8
mov edx, dword [ebp - 0xc8]
mov eax, 0x101f8468
mov byte [ebp - 0xe8], cl
call sym._sqlite3StrICmp
mov cl, byte [ebp - 0xe8]
test eax, eax
jne 0x10116fe8
mov dword [esi + 0x1c], 1
test byte [edi + 0x19], 2
jne 0x10117089
jmp 0x101170bf
cmp ebx, 0x7f
je 0x10117024
test cl, cl
je 0x10117024
mov edx, dword [ebp - 0xc8]
mov eax, 0x101f846c
call sym._sqlite3StrICmp
test eax, eax
mov eax, dword [edi + 0x18]
jne 0x10117018
xor edx, edx
bt eax, 9
mov dword [esi + 0x1c], edx
jb 0x10117089
jmp 0x101170bf
bt eax, 9
jae 0x10117297
jmp 0x10117065
test byte [edi + 0x19], 2
je 0x1011729f
test cl, cl
jmp 0x1011705f
test ecx, ecx
jmp 0x1011705f
bt ecx, 9
jae 0x10117297
cmp dword [ebp - 0xc8], 0
jne 0x10117065
jmp 0x10117297
test byte [edi + 0x19], 2
je 0x1011729f
cmp dword [ebp - 0xc8], 0
je 0x1011729f
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x1011729f
mov edx, dword [ebp - 0xc8]
mov eax, str.excluded
call sym._sqlite3StrICmp
test eax, eax
je 0x101170a4
jmp 0x1011729f
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x101170bf
mov edx, dword [ebp - 0xc8]
mov eax, str.excluded
call sym._sqlite3StrICmp
test eax, eax
jne 0x101170bf
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + 0x18]
mov dword [esi + 0x1c], 2
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x1011729f
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 0x10117142
mov al, byte [ebp - 0xf4]
cmp al, byte [ebx + 0xa]
jne 0x1011713c
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 0x1011713c
mov eax, dword [ebp - 0xe0]
movsx eax, word [eax + 0x20]
cmp eax, ecx
jne 0x10117175
jmp 0x10117172
inc ecx
add ebx, 0x10
jmp 0x101170fa
mov eax, dword [ebp - 0xd4]
call sym._sqlite3IsRowid
test eax, eax
je 0x10117297
mov eax, dword [ebp - 0xe0]
test byte [eax + 0x1d], 2
jne 0x1011729f
cmp dword [ebp - 0xe8], 0
js 0x1011729f
or ecx, 0xffffffff
mov eax, dword [esi + 0x1c]
cmp eax, 2
jne 0x101171bd
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x101171a5
mov eax, dword [ebp - 0xe0]
mov word [esi + 0x20], cx
mov dword [ebp - 0xf0], 0xa7
mov dword [esi + 0x2c], eax
jmp 0x10117205
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 0x101171f8
mov ebx, dword [ebp - 0xe0]
mov dword [esi + 0x2c], ebx
mov ebx, dword [ebp - 0xc0]
cmp byte [ebx + 0x95], 0
je 0x1011721c
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 0x1011729f
mov word [esi + 0x20], cx
cmp ecx, 0xffffffff
jne 0x1011722b
mov byte [esi + 1], 0x44
jmp 0x10117258
test eax, eax
mov eax, dword [ebp - 0xc0]
jne 0x10117264
mov edx, dword [eax + 0x8c]
or eax, 0xffffffff
cmp ecx, 0x1f
jg 0x1011724a
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 0x10117205
mov edx, dword [eax + 0x90]
or eax, 0xffffffff
cmp ecx, 0x1f
jg 0x10117279
mov eax, 1
shl eax, cl
or edx, eax
mov eax, dword [ebp - 0xc0]
mov dword [eax + 0x90], edx
jmp 0x10117258
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0xcc], eax
jmp 0x1011729f
xor eax, eax
mov dword [ebp - 0xcc], eax
cmp dword [ebp - 0xcc], 0
jne 0x10117483
cmp dword [ebp - 0xec], 1
jne 0x101172fb
cmp dword [ebp - 0xd0], 0
je 0x10117308
test byte [edi + 0x18], 0x28
jne 0x10117308
mov eax, dword [ebp - 0xd4]
call sym._sqlite3IsRowid
test eax, eax
je 0x10117308
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x10]
test byte [eax + 0x1d], 2
jne 0x10117308
mov word [esi + 0x20], 0xffff
mov byte [esi + 1], 0x44
mov dword [ebp - 0xcc], 1
jmp 0x101176ee
cmp dword [ebp - 0xcc], 0
jne 0x10117483
mov eax, dword [edi + 0x18]
mov dword [ebp - 0xe0], eax
cmp byte [ebp - 0xe0], 0
jns 0x1011746a
cmp dword [ebp - 0xc8], 0
jne 0x1011746a
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 0x1011746a
imul eax, dword [ebp - 0xcc], 0x14
lea edx, [ebx + eax]
test byte [edx + 0x14], 3
jne 0x1011745f
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 0x1011745f
mov eax, dword [edx + 8]
mov edx, dword [eax + 4]
test byte [ebp - 0xe0], 1
jne 0x101173bc
test dl, 0x10
je 0x101173bc
mov dword [esp + 8], ecx
mov dword [esp + 4], str.misuse_of_aliased_aggregate__s
jmp 0x101173e0
bt edx, 0xf
jae 0x101173f8
bt dword [ebp - 0xe0], 0xe
jae 0x101173d4
cmp dword [ebp - 0xc4], edi
je 0x101173f8
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 0x101182c9
call sym._sqlite3ExprVectorSize
dec eax
je 0x10117418
mov dword [esp + 4], str.row_value_misused
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x101173ee
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 0x1011776a
mov eax, dword [eax + 0x10c]
mov ecx, esi
xor edx, edx
call sym._sqlite3RenameTokenRemap.isra.0
jmp 0x1011776a
inc dword [ebp - 0xcc]
jmp 0x1011733e
mov edi, dword [edi + 0xc]
inc dword [ebp - 0x100]
test edi, edi
jne 0x10116ab4
xor eax, eax
mov dword [ebp - 0xcc], eax
mov eax, dword [ebp - 0xc8]
or eax, dword [ebp - 0xcc]
jne 0x10117559
test byte [esi + 4], 0x80
je 0x10117523
mov eax, dword [ebp - 0xd8]
cmp byte [eax + 0xb1], 0
jne 0x101174ee
mov ebx, dword [ebp - 0xc4]
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
test byte [ebx + 0x1a], 1
je 0x101174e3
mov ecx, eax
and ecx, 0x10000001
xor ecx, 1
or ecx, 0
jne 0x101174dd
mov ecx, eax
and ecx, 0x40000000
or ecx, 0
jne 0x101174ee
shrd eax, edx, 0x1d
jmp 0x101174e7
shrd eax, edx, 0x1e
and eax, 1
test eax, eax
je 0x10117523
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 0x10117a3f
mov eax, esi
call sym._sqlite3ExprIdToTrueFalse
mov dword [ebp - 0xcc], eax
test eax, eax
jne 0x10117a3f
mov eax, dword [ebp - 0x98]
test eax, eax
jne 0x10117574
cmp dword [ebp - 0xdc], 0
mov eax, str.no_such_column
jne 0x10117635
jmp 0x101176a8
cmp dword [ebp - 0xcc], 1
je 0x101176ee
mov eax, dword [ebp - 0x98]
test eax, eax
je 0x10117618
mov ebx, dword [ebp - 0xcc]
lea edx, [ebx - 1]
cmp dword [eax], edx
jne 0x101175fe
mov eax, dword [esi + 4]
bt eax, 0x17
jae 0x10117594
and eax, 0xff7fffff
mov dword [esi + 4], eax
jmp 0x101175c8
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 0x1011776a
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 0x1011766f
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 0x101176cc
cmp dword [ebp - 0xc8], 0
je 0x101176a8
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 0x101176cc
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 0x10117732
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 0x10117755
cmp dword [ebp - 0xd0], 0
je 0x10117755
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 0x101173ee
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp dword [eax + 0x168], 0
je 0x10117833
mov bl, byte [esi]
cmp bl, 0xa7
je 0x1011778f
cmp bl, 0x4d
jne 0x10117833
mov ecx, dword [edi + 4]
mov edx, dword [ebp - 0xe4]
mov dword [ebp - 0xc8], ecx
call sym._sqlite3SchemaToIndex
test eax, eax
js 0x10117833
cmp bl, 0x4d
je 0x101177c2
mov ebx, dword [ebp - 0xc8]
xor edx, edx
mov ebx, dword [ebx]
mov dword [ebp - 0xcc], ebx
jmp 0x101177ce
mov ecx, dword [ebp - 0xc0]
mov ebx, dword [ecx + 0x78]
jmp 0x101177f8
inc edx
mov ebx, dword [ebp - 0xcc]
cmp edx, ebx
jge 0x101177f6
imul ecx, edx, 0x48
mov ebx, dword [ebp - 0xc8]
mov ebx, dword [ebx + ecx + 0x34]
cmp dword [esi + 0x1c], ebx
jne 0x101177cd
mov ebx, dword [ebp - 0xc8]
mov ebx, dword [ebx + ecx + 0x18]
jmp 0x101177f8
xor ebx, ebx
movsx edx, word [esi + 0x20]
test ebx, ebx
je 0x10117833
test dx, dx
jns 0x10117813
movsx edx, word [ebx + 0x20]
mov ecx, str.ROWID
test dx, dx
js 0x1011781b
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 0x10117833
mov byte [esi], 0x79
mov eax, dword [ebp - 0xc4]
inc dword [eax + 0x10]
cmp edi, eax
je 0x10117a3f
mov eax, dword [eax + 0xc]
mov dword [ebp - 0xc4], eax
jmp 0x10117833
mov eax, dword [esi + 0x14]
xor ecx, ecx
mov dword [ebp - 0xcc], eax
test eax, eax
je 0x10117860
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 0x1011788d
mov ebx, dword [esi + 0x2c]
cmp byte [ebx + 0x10], 0xa6
jne 0x1011788d
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 0x101178f7
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 0x10117b54
jmp 0x10117b1f
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 0x101179ec
or dword [esi + 4], 0x80000
cmp ecx, 2
jne 0x101179d0
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 0x1c]
cmp byte [eax], 0x99
je 0x10117941
jmp 0x10117938
fstp st(0)
mov dword [esi + 0x1c], 0xffffffff
jmp 0x101179ab
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 0x10117936
fnstcw word [ebp - 0xba]
fmul dword [0x101fde70]
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 0x101179ec
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 0x101179ec
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 0x10117a49
dec edi
jne 0x10117a3c
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 0x101182c9
mov eax, dword [ebp - 0xc8]
mov eax, dword [eax + 4]
test ah, 0x28
je 0x10117a5e
or dword [esi + 4], 0x100000
mov ecx, dword [ebp - 0xc4]
bt eax, 0xb
mov edx, dword [ecx + 0x18]
jb 0x10117a8d
test dl, 0x2a
je 0x10117aa2
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 0x10117aa2
mov eax, edx
and eax, 0x2e
bt edx, 0x12
mov byte [esi + 2], al
jae 0x10117aa2
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 0x10117ae3
mov ecx, dword [ebp - 0xc0]
cmp byte [ecx + 0x12], 0
jne 0x10117ae3
mov ecx, dword [ecx]
test byte [ecx + 0x18], 0x20
je 0x10117b3f
and edx, 0x280000
je 0x10117b15
cmp al, 1
ja 0x10117d81
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 0x10117b17
cmp al, 1
ja 0x10117d81
jmp 0x10117b74
mov eax, dword [ebp - 0xc0]
cmp byte [eax + 0xd0], 1
jbe 0x10117bce
xor eax, eax
mov dword [ebp - 0xd0], eax
jmp 0x10117d81
cmp al, 1
jbe 0x10117c54
xor eax, eax
mov dword [ebp - 0xc8], eax
jmp 0x10117d81
mov eax, dword [ebp - 0xc0]
xor edi, edi
mov dword [ebp - 0xd0], edi
cmp byte [eax + 0xd0], 1
ja 0x10117d81
mov edi, 1
mov eax, dword [ebp - 0xc8]
cmp dword [eax + 0x18], 0
jne 0x101182ab
test ebx, ebx
je 0x101182ab
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 0x10117cfb
mov eax, dword [ebp - 0xc4]
and dword [eax + 0x18], 0xffffbfff
jmp 0x10117d48
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0xb1], 0
jne 0x10117c22
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 0x10117cee
test byte [esi + 7], 1
je 0x10117cfb
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 0x10117cfb
cmp dword [ebp - 0xd4], 0
je 0x10117bce
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 0x10118252
cmp dword [ebp - 0xd4], 0
je 0x10117d0e
test ebx, ebx
je 0x10118269
bt eax, 0xe
jae 0x10118269
test ecx, ecx
jne 0x10117d16
test edi, edi
je 0x10118291
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 0x10117d2f
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 8]
call sym._sqlite3WalkExprList
jmp 0x10117a3f
test ebx, ebx
jne 0x10117cae
test ecx, ecx
je 0x10117d58
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0xb1], 0
je 0x10117bed
test edi, edi
jne 0x10117cc4
mov eax, dword [ebp - 0xc4]
mov eax, dword [eax + 0x18]
test ebx, ebx
je 0x10117d60
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 0x10117db1
test edi, edi
jne 0x10117cc4
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 0x10117ff4
mov edx, dword [ebp - 0xcc]
mov eax, dword [ebp + 8]
test byte [esi + 7], 1
je 0x10117d97
call sym._sqlite3WalkExprList
jmp 0x10117da9
call sym._sqlite3WalkExprList
cmp dword [ebp - 0xd0], 0
je 0x10117a3f
test ebx, ebx
je 0x10117ff4
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 0x10117e0f
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 0x101180f6
xor edx, edx
cmp dword [ebp - 0xcc], 0
je 0x10117e23
mov eax, dword [ebp - 0xcc]
mov edx, dword [eax + 0x48]
mov ecx, dword [ebx]
test ecx, ecx
je 0x10117eba
cmp byte [ebx + 0x10], 0
jne 0x10117eba
mov eax, dword [ebp - 0xc0]
call sym._windowFind
mov esi, eax
test eax, eax
je 0x10117fdd
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 0x10117ec9
mov eax, dword [ebp - 0xc0]
mov ecx, edx
mov edx, ebx
call sym._sqlite3WindowChain
cmp byte [ebx + 0x10], 0x59
jne 0x10117ef1
cmp dword [ebx + 0x18], 0
jne 0x10117edb
cmp dword [ebx + 0x1c], 0
je 0x10117ef1
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10117ee7
cmp dword [eax], 1
je 0x10117ef1
mov dword [esp + 4], str.RANGE_with_offset_PRECEDING_FOLLOWING_requires_one_ORDER_BY_expression
jmp 0x10117f17
mov eax, dword [ebp - 0xc8]
test byte [eax + 6], 1
je 0x10117fd4
mov eax, dword [ebp - 0xc0]
cmp dword [ebx + 0x28], 0
mov eax, dword [eax]
je 0x10117f2a
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 0x10117fd4
lea edi, [ebp - 0x98]
mov esi, 0x1016f280
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 0x10117fc7
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 0x10117fd4
mov ecx, 0x101f71a8
mov edx, 0x9b
call sym._sqlite3Expr
mov dword [ebx + 0x18], eax
jmp 0x10117fd4
inc esi
add edx, 0x10
cmp esi, 8
jne 0x10117f4d
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 0x10117dcf
jmp case.0x101167d9.1
mov byte [esi], 0xa8
mov byte [esi + 2], 0
test byte [esi + 7], 1
je 0x1011800f
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 0x10118094
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 0x101180cd
test ax, ax
je 0x101180cd
inc byte [esi + 2]
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x10118015
jmp 0x101180f6
test ebx, ebx
je 0x101180f6
cmp dword [ebp - 0xc8], 0
je 0x101180f6
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 0x10117a3f
test byte [esi + 5], 0x10
je case.0x101167d9.1
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x18]
mov ebx, dword [eax + 0x10]
test dl, 0x2e
je 0x10118143
mov dword [esp + 4], esi
mov ecx, str.subqueries
mov dword [esp], esi
mov eax, dword [ebp - 0xc0]
call sym._notValidImpl.isra.0
jmp 0x1011814e
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.0x101167d9.1
or dword [esi + 4], 0x40
or dword [eax + 0x18], 0x40
jmp case.0x101167d9.1
mov eax, dword [ebp - 0xc4]
mov edx, dword [eax + 0x18]
test dl, 0x2e
je case.0x101167d9.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.0x101167d9.1
mov eax, dword [esi + 0x10]
call sym._sqlite3ExprSkipCollateAndLikely
mov ebx, eax
test eax, eax
je case.0x101167d9.3
mov al, byte [eax]
cmp al, 0x3b
je 0x101181b0
cmp al, 0xaa
jne case.0x101167d9.3
mov dword [esp + 4], ebx
mov eax, dword [ebp + 8]
mov dword [esp], eax
call sym._resolveExprStep
cmp eax, 2
je 0x101182c9
cmp byte [ebx], 0xaa
jne case.0x101167d9.3
mov al, byte [esi]
mov byte [esi], 0xaf
mov byte [esi + 2], al
xor eax, eax
jmp 0x101182c9
mov eax, dword [ebp - 0xc0]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
jne case.0x101167d9.1
mov eax, dword [esi + 0xc]
call sym._sqlite3ExprVectorSize
cmp byte [esi], 0x30
mov ebx, eax
jne 0x1011820d
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 8]
call sym._sqlite3ExprVectorSize
cmp ebx, eax
jne 0x10118219
mov eax, dword [edi + 0x1c]
jmp 0x10118210
mov eax, dword [esi + 0x10]
call sym._sqlite3ExprVectorSize
cmp eax, ebx
je case.0x101167d9.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 0x101182c9
mov eax, dword [ebp - 0xd4]
mov edx, str.window
or eax, ebx
mov eax, str.aggregate
cmovne eax, edx
jmp 0x1011826e
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 0x10117c46
mov edi, dword [ebp - 0xc4]
and ah, 0xbf
mov edx, dword [ebp - 0xcc]
mov dword [edi + 0x18], eax
mov eax, dword [ebp + 8]
jmp 0x10117d90
xor ecx, ecx
cmp dword [ebp - 0xd0], 0
jne 0x10117c6e
test edi, edi
je 0x10117c22
xor edi, edi
jmp 0x10117cc4
add esp, 0x11c
pop ebx
pop esi
pop edi
pop ebp
ret