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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
mov esi, edx
push ebx
sub esp, 0xbc
mov dword [ebp - 0x6c], eax
mov dword [ebp - 0x70], ecx
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 8]
mov dword [ebp - 0x74], eax
xor eax, eax
mov dword [ebp - 0x60], eax
mov dword [ebp - 0x5c], eax
test esi, esi
je case.0x10128627.2
mov al, byte [esi]
cmp al, 0xb5
ja case.0x10128627.2
cmp al, 0x70
ja 0x10128619
movzx edi, al
cmp al, 0x47
ja 0x10128643
cmp al, 0x2a
ja 0x1012862e
cmp al, 0x24
je 0x1012891c
ja case.0x10128627.2
cmp al, 0x13
je 0x10128dbc
cmp al, 0x14
je 0x10129289
jmp case.0x10128627.2
sub eax, 0x71
cmp al, 0x44
ja case.0x10128627.2
movzx eax, al
jmp dword [eax*4 + 0x101f906c]
sub eax, 0x2b
cmp al, 0x1c
ja case.0x10128627.2
movzx eax, al
jmp dword [eax*4 + 0x101f9180]
cmp al, 0x4d
je 0x10129419
sub eax, 0x66
cmp al, 9
ja case.0x10128627.2
jmp case.0x1012863c.0
mov eax, dword [esi + 0x28]
movsx ebx, word [esi + 0x22]
imul ebx, ebx, 0x14
add ebx, dword [eax + 0x1c]
cmp byte [eax], 0
jne 0x10128675
mov ebx, dword [ebx + 0xc]
jmp 0x10129720
cmp byte [eax + 1], 0
je case.0x10128627.54
mov ecx, dword [eax + 8]
mov eax, dword [ebp - 0x70]
mov edx, 0x5e
mov esi, dword [ebx]
mov dword [esp + 4], eax
movsx eax, word [ebx + 0x12]
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp3
movsx eax, word [ebx + 0x10]
test ax, ax
js 0x1012971d
shl eax, 4
add eax, dword [esi + 4]
cmp byte [eax + 8], 0x45
jmp 0x10128835
mov ecx, dword [esi + 0x1c]
test byte [esi + 4], 0x20
je 0x10128726
mov edx, dword [esi + 0xc]
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCodeTarget
mov ebx, eax
mov eax, dword [esi + 0x2c]
test eax, eax
je 0x101286e5
movsx edx, word [esi + 0x20]
call sym._sqlite3TableColumnAffinity
movsx eax, al
jmp 0x101286e9
movsx eax, byte [esi + 1]
cmp eax, 0x41
jle 0x10129720
lea eax, [eax + eax + 0x10203dbc]
mov dword [esp], 1
mov ecx, ebx
mov edx, 0x60
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp4
jmp 0x10129720
mov edi, dword [esi + 0x2c]
movsx edx, word [esi + 0x20]
mov dword [ebp - 0x78], edi
test ecx, ecx
jns 0x101287f3
mov edi, dword [ebp - 0x6c]
mov edi, dword [edi + 0x34]
lea ecx, [edi - 1]
test edi, edi
jns 0x101287f3
test dx, dx
jns 0x10128757
not edi
mov ebx, edi
jmp 0x10129720
mov eax, dword [ebp - 0x78]
mov esi, edx
shl esi, 4
add esi, dword [eax + 4]
call sym._sqlite3TableColumnToStorage
movsx ebx, ax
mov ax, word [esi + 0xe]
sub ebx, edi
test al, 0x60
je 0x101287bf
test ah, 1
je 0x10128797
mov eax, dword [esi]
mov dword [esp + 4], str.generated_column_loop_on___s_
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x101292a1
mov edx, eax
or dh, 1
mov word [esi + 0xe], dx
test al, 0x80
je 0x101287b4
mov dword [esp], ebx
mov edx, dword [ebp - 0x78]
mov ecx, esi
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCodeGeneratedColumn
and word [esi + 0xe], 0xfe7f
jmp 0x10129720
cmp byte [esi + 8], 0x45
jne 0x10129720
mov eax, dword [ebp - 0x70]
mov ecx, ebx
mov edx, 0x51
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0x70]
mov edx, 0x57
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp1
jmp 0x1012971d
mov eax, dword [ebp - 0x70]
movzx ebx, byte [esi + 2]
mov dword [esp], edx
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x74]
call sym._sqlite3ExprCodeGetColumnOfTable
test bl, bl
je 0x10128827
mov eax, dword [ebp - 0x6c]
or edx, 0xffffffff
mov eax, dword [eax + 8]
call sym._sqlite3VdbeGetOp
cmp byte [eax], 0x5e
jne 0x10128827
mov word [eax + 2], bx
cmp dword [esi + 0x2c], 0
jne 0x1012971d
cmp byte [esi + 1], 0x45
jne 0x1012971d
jmp 0x101287de
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, esi
mov dword [esp], eax
jmp 0x10128d47
mov eax, esi
call sym._sqlite3ExprTruthValue
jmp 0x10129061
mov eax, dword [ebp - 0x70]
mov edx, dword [esi + 8]
xor ecx, ecx
mov dword [esp], eax
jmp 0x10128d66
mov ecx, dword [esi + 8]
jmp 0x101290cc
mov esi, dword [esi + 8]
xor edi, edi
add esi, 2
mov eax, esi
call sym._sqlite3Strlen30
mov edx, esi
lea ebx, [eax - 1]
mov eax, dword [ebp - 0x74]
mov ecx, ebx
mov eax, dword [eax]
call sym._sqlite3HexToBlob
mov ecx, 2
mov dword [esp + 4], edi
mov esi, eax
mov eax, ebx
mov dword [esp + 0xc], 0xfffffffa
cdq
mov dword [esp + 8], esi
idiv ecx
mov edx, 0x4d
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp4
jmp 0x1012971d
mov eax, dword [ebp - 0x70]
movsx ecx, word [esi + 0x20]
mov edx, 0x4e
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov eax, dword [esi + 8]
cmp byte [eax + 1], 0
je 0x1012971d
mov eax, dword [ebp - 0x6c]
movsx edx, word [esi + 0x20]
xor esi, esi
mov ebx, dword [eax + 0xe0]
mov eax, ebx
call sym._sqlite3VListNumToName
mov dword [ebx], esi
or ecx, 0xffffffff
mov edx, eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAppendP4
jmp 0x1012971d
mov ebx, dword [esi + 0x1c]
jmp 0x10129720
mov ecx, dword [ebp - 0x70]
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCodeTarget
mov ecx, eax
cmp dword [ebp - 0x70], eax
je 0x10128944
mov eax, dword [ebp - 0x70]
mov edx, 0x51
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov eax, dword [esi + 8]
xor edx, edx
call sym._sqlite3AffinityType
mov edx, 0x58
movsx eax, al
mov dword [esp], eax
mov ecx, dword [ebp - 0x70]
jmp 0x10129095
mov dword [ebp - 0x78], pe_nt_image_headers32
cmp edi, 0x2d
jne 0x10128984
mov edi, 0x35
jmp 0x10128989
mov dword [ebp - 0x78], pe_nt_image_headers32
jmp 0x10128984
xor ebx, ebx
mov dword [ebp - 0x78], ebx
jmp 0x10128989
mov edi, 0x34
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x7c], eax
call sym._sqlite3ExprIsVector
test eax, eax
je 0x10128c47
mov eax, dword [esi + 0x10]
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x7c]
call sym._sqlite3ExprVectorSize
mov esi, dword [esi + 4]
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x38]
dec eax
mov dword [ebp - 0x84], eax
mov eax, dword [ebp - 0x6c]
mov ebx, dword [ebp - 0x84]
mov dword [eax + 0x38], ebx
mov eax, dword [eax + 0x24]
mov dword [ebp - 0x80], eax
test eax, eax
jne 0x10129707
mov eax, dword [ebp - 0x88]
call sym._sqlite3ExprVectorSize
cmp dword [ebp - 0x8c], eax
jne case.0x10128627.64
mov eax, edi
mov bl, 0x38
mov byte [ebp - 0xa1], al
cmp edi, 0x37
je 0x10128a12
mov bl, 0x36
cmp edi, 0x39
je 0x10128a12
cmp edi, 0x34
mov bl, 0x35
cmovne ebx, edi
mov eax, dword [ebp - 0x7c]
xor ecx, ecx
mov dword [ebp - 0xa0], ecx
cmp byte [eax], 0x8a
jne 0x10128a32
mov edx, eax
mov eax, dword [ebp - 0x6c]
call sym._sqlite3CodeSubselect
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x88]
xor edx, edx
mov dword [ebp - 0x9c], edx
cmp byte [eax], 0x8a
jne 0x10128a55
mov edx, eax
mov eax, dword [ebp - 0x6c]
call sym._sqlite3CodeSubselect
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x70]
shr esi, 0xa
mov ecx, 1
mov edx, 0x47
and esi, 1
mov dword [ebp - 0xa8], esi
xor esi, esi
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
xor eax, eax
cmp dword [ebp - 0x80], 0
mov dword [ebp - 0x58], eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
je 0x10128a9a
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeJumpHere
lea eax, [ebp - 0x58]
mov ecx, esi
mov dword [esp + 8], eax
lea eax, [ebp - 0x50]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xa0]
mov dword [esp], eax
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call sym._exprVectorRegister.constprop.0
mov ecx, esi
mov dword [ebp - 0x94], eax
lea eax, [ebp - 0x54]
mov dword [esp + 8], eax
lea eax, [ebp - 0x4c]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x6c]
call sym._exprVectorRegister.constprop.0
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xa8]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x78]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x84]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x98]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x94]
mov dword [esp + 4], eax
movzx eax, bl
mov dword [esp], eax
mov ecx, dword [ebp - 0x4c]
mov edx, dword [ebp - 0x50]
mov eax, dword [ebp - 0x6c]
call sym._codeCompare.isra.0
mov edx, dword [ebp - 0x58]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ReleaseTempReg
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebp - 0x54]
call sym._sqlite3ReleaseTempReg
mov eax, dword [ebp - 0x8c]
dec eax
mov dword [ebp - 0x90], eax
lea eax, [ebx - 0x36]
test al, 0xfd
jne 0x10128b7f
cmp dword [ebp - 0x90], esi
jle 0x10128b7f
mov eax, dword [ebp - 0x74]
mov edx, 0x3a
call sym._sqlite3VdbeAddOp0
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x78], 0x80
jne 0x10128b9f
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x10128bc2
mov eax, dword [ebp - 0x98]
mov edx, 0x5c
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov ecx, dword [ebp - 0x94]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp3
cmp dword [ebp - 0x90], esi
je 0x10128c13
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
cmp bl, 0x35
jne 0x10128bea
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov edx, 0x33
call sym._sqlite3VdbeAddOp2
jmp 0x10128c0d
mov eax, dword [ebp - 0x74]
xor ecx, ecx
mov edx, 8
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0x8c]
sub eax, 2
cmp esi, eax
mov al, byte [ebp - 0xa1]
cmove ebx, eax
inc esi
jmp 0x10128a7b
mov edx, dword [ebp - 0x80]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeJumpHere
mov edx, dword [ebp - 0x84]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeResolveLabel
cmp edi, 0x34
jne 0x10129707
mov eax, dword [ebp - 0x70]
mov edx, 0x13
mov dword [esp], eax
mov ecx, eax
jmp 0x10128cd9
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
call sym._sqlite3ExprCodeTemp
mov edx, dword [esi + 0x10]
lea ecx, [ebp - 0x5c]
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCodeTemp
mov ecx, 1
mov edx, 0x47
mov ebx, eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov eax, dword [esi + 4]
mov ecx, dword [esi + 0x10]
shr eax, 0xa
and eax, 1
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0x78]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x74]
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x84], eax
add eax, 2
mov dword [esp + 0xc], eax
mov dword [esp + 8], ebx
mov eax, dword [ebp - 0x80]
mov dword [esp], edi
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call sym._codeCompare.isra.0
cmp dword [ebp - 0x78], 0x80
jne 0x10128ce6
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x10129707
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x70]
mov edx, 0x5c
mov dword [esp], eax
mov ecx, dword [ebp - 0x80]
jmp 0x10128d26
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
call sym._sqlite3ExprCodeTemp
mov edx, dword [esi + 0x10]
lea ecx, [ebp - 0x5c]
mov ebx, eax
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCodeTemp
mov edx, edi
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp3
jmp 0x10129707
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x9b
jne 0x10128d54
mov eax, dword [ebp - 0x70]
mov ecx, 1
mov dword [esp], eax
mov eax, dword [ebp - 0x6c]
call sym._codeInteger
jmp 0x1012971d
cmp al, 0x99
jne 0x10128d73
mov eax, dword [ebp - 0x70]
mov edx, dword [edx + 8]
mov ecx, 1
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._codeReal
jmp 0x1012971d
xor eax, eax
mov byte [ebp - 0x4c], 0x9b
lea ecx, [ebp - 0x60]
lea edx, [ebp - 0x4c]
mov dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x48], 0x10800
call sym._sqlite3ExprCodeTemp
mov edx, dword [esi + 0xc]
lea ecx, [ebp - 0x5c]
mov ebx, eax
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCodeTemp
mov edx, 0x6b
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [esp], ebx
mov dword [esp + 4], eax
jmp 0x10128d26
mov edi, 0x72
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
call sym._sqlite3ExprCodeTemp
mov edx, edi
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
jmp 0x10128cd9
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
call sym._sqlite3ExprCodeTemp
xor edx, edx
mov ecx, eax
mov eax, dword [esi + 0x10]
call sym._sqlite3ExprTruthValue
cmp byte [esi + 2], 0x2d
sete dl
xor edx, eax
test eax, eax
sete al
mov dword [esp + 8], edx
mov edx, 0x5b
movzx eax, al
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp4Int
jmp 0x10129707
mov eax, dword [ebp - 0x70]
mov ecx, 1
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov edx, dword [esi + 0xc]
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
call sym._sqlite3ExprCodeTemp
mov edx, edi
mov ecx, eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp1
xor ecx, ecx
mov edx, 0x47
mov ebx, eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0x74]
mov edx, ebx
call sym._sqlite3VdbeJumpHere
jmp 0x10129707
mov edx, dword [esi + 0x28]
test edx, edx
je 0x10128e91
movsx eax, word [esi + 0x22]
test ax, ax
js 0x10128e91
cmp eax, dword [edx + 0x2c]
jl 0x10128ea2
mov dword [esp + 8], esi
mov dword [esp + 4], str.misuse_of_aggregate:__T__
jmp 0x10128f4b
imul eax, eax, 0x14
add eax, dword [edx + 0x28]
mov ebx, dword [eax + 8]
jmp 0x10129720
test byte [esi + 7], 1
je 0x10128ec1
mov eax, dword [esi + 0x2c]
mov ebx, dword [eax + 0x38]
jmp 0x10129720
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x84], eax
mov al, byte [eax + 0x54]
mov byte [ebp - 0x7c], al
mov eax, dword [ebp - 0x6c]
cmp byte [eax + 0x17], 0
je 0x10128f04
xor ecx, ecx
mov edx, 2
mov eax, esi
call sym._exprIsConst
test eax, eax
je 0x10128f04
mov eax, dword [ebp - 0x6c]
add esp, 0xbc
mov edx, esi
or ecx, 0xffffffff
pop ebx
pop esi
pop edi
pop ebp
jmp sym._sqlite3ExprCodeRunJustOnce
mov ebx, dword [esi + 0x14]
xor eax, eax
mov dword [ebp - 0x78], eax
test ebx, ebx
je 0x10128f15
mov eax, dword [ebx]
mov dword [ebp - 0x78], eax
xor eax, eax
mov edx, dword [esi + 8]
mov dword [esp + 4], eax
movzx eax, byte [ebp - 0x7c]
mov dword [esp], eax
mov ecx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x84]
call sym._sqlite3FindFunction
mov edi, eax
test eax, eax
je 0x10128f3f
cmp dword [eax + 0x14], 0
je 0x10128f5b
mov dword [esp + 8], esi
mov dword [esp + 4], str.unknown_function:__T__
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x10129707
mov eax, dword [eax + 4]
mov ecx, eax
and ecx, 0x400000
mov dword [ebp - 0x88], ecx
je 0x101290dc
mov eax, dword [ebp - 0x6c]
cmp dword [edi + 8], 5
mov eax, dword [eax + 8]
mov dword [ebp - 0x74], eax
mov eax, dword [ebx]
mov dword [ebp - 0x78], eax
ja case.default.0x10128f8d
mov eax, dword [edi + 8]
jmp dword [eax*4 + 0x101f91f4]
mov eax, dword [ebp - 0x6c]
mov edx, dword [ebx + 8]
mov edi, 1
mov ecx, dword [ebp - 0x70]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x7c], eax
lea esi, [eax - 1]
mov eax, dword [ebp - 0x6c]
mov dword [eax + 0x38], esi
call sym._sqlite3ExprCode
cmp dword [ebp - 0x78], edi
jle 0x10128fe3
mov dword [esp], esi
mov ecx, dword [ebp - 0x70]
mov edx, 0x33
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
imul eax, edi, 0x14
mov ecx, dword [ebp - 0x70]
inc edi
mov edx, dword [ebx + eax + 8]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCode
jmp 0x10128fb6
mov eax, dword [ebp - 0x74]
call sym._setDoNotMergeFlagOnCopy
mov edx, esi
jmp 0x101293ac
lea edx, [ebp - 0x4c]
xor eax, eax
mov ecx, 0xd
mov edi, edx
rep stosd dword es:[edi], eax
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov dword [ebp - 0x38], ebx
mov byte [ebp - 0x4c], 0x9d
call sym._sqlite3ExprCodeTarget
mov ebx, eax
jmp 0x10129720
mov esi, dword [ebx + 8]
jmp 0x101285c4
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 8]
mov dword [esp], 0xffffffff
xor eax, eax
call sym._sqlite3ExprCompare
jmp 0x10129061
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 8]
mov dword [esp], 0xffffffff
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprImpliesExpr
jmp 0x10129061
mov eax, dword [ebx + 0x1c]
cmp byte [eax], 0xa7
jne case.0x10128627.2
mov edx, dword [eax + 0x1c]
mov eax, dword [ebx + 8]
call sym._sqlite3ExprImpliesNonNullRow
mov ecx, eax
mov eax, dword [ebp - 0x70]
mov edx, 0x47
mov dword [esp], eax
jmp 0x10129095
mov eax, dword [esi + 4]
mov esi, dword [esi + 0xc]
bt eax, 9
jb 0x101285d5
test esi, esi
jne 0x101293d4
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x4b
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x1012971d
lea edi, [ebp - 0x4c]
mov esi, 0x1016f300
mov ecx, 5
mov eax, dword [ebx + 8]
rep movsd dword es:[edi], dword [esi]
call sym._sqlite3ExprAffinity
mov ecx, str.none
cmp al, 0x40
jle 0x101290cc
sub eax, 0x41
movsx eax, al
mov ecx, dword [ebp + eax*4 - 0x4c]
mov edx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeLoadString
jmp 0x1012971d
test eax, 0x280000
je 0x101290ef
mov eax, dword [ebp - 0x6c]
mov ecx, edi
mov edx, esi
call sym._sqlite3ExprFunctionUsable
lea eax, [ebx + 8]
xor ecx, ecx
mov dword [ebp - 0x7c], eax
xor eax, eax
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x78]
cmp ecx, eax
jge 0x1012915e
cmp ecx, 0x1f
jg 0x1012912f
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x8c], ecx
mov eax, dword [eax]
call sym._sqlite3ExprIsConstant
mov ecx, dword [ebp - 0x8c]
test eax, eax
je 0x1012912f
mov eax, 1
shl eax, cl
or dword [ebp - 0x88], eax
test byte [edi + 4], 0x20
je 0x10129157
cmp dword [ebp - 0x80], 0
jne 0x10129157
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x8c], ecx
mov edx, dword [eax]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCollSeq
mov ecx, dword [ebp - 0x8c]
mov dword [ebp - 0x80], eax
add dword [ebp - 0x7c], 0x14
inc ecx
jmp 0x101290fc
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test ebx, ebx
je 0x101291cb
cmp dword [ebp - 0x88], 0
je 0x10129189
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x2c]
lea ecx, [eax + 1]
mov dword [ebp - 0x7c], ecx
mov ecx, dword [ebp - 0x78]
add eax, ecx
mov ecx, dword [ebp - 0x6c]
mov dword [ecx + 0x2c], eax
jmp 0x10129197
mov edx, dword [ebp - 0x78]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3GetTempRange
mov dword [ebp - 0x7c], eax
mov eax, dword [edi + 4]
test al, 0xc0
je 0x101291b1
mov edx, dword [ebx + 8]
mov cl, byte [edx]
add ecx, 0x59
and cl, 0xfd
jne 0x101291b1
and eax, 0xffffffc0
mov byte [edx + 2], al
xor edx, edx
mov dword [esp + 4], 3
mov dword [esp], edx
mov ecx, dword [ebp - 0x7c]
mov edx, ebx
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCodeExprList.isra.0
cmp dword [ebp - 0x78], 1
jle 0x101291dc
test byte [esi + 5], 1
je 0x101291de
mov eax, dword [ebx + 0x1c]
jmp 0x101291e1
jne 0x101291f6
mov eax, dword [ebx + 8]
mov dword [esp], eax
mov ecx, dword [ebp - 0x78]
mov edx, edi
mov eax, dword [ebp - 0x84]
call sym._sqlite3VtabOverloadFunction
mov edi, eax
test byte [edi + 4], 0x20
je 0x10129235
cmp dword [ebp - 0x80], 0
jne 0x1012920e
mov eax, dword [ebp - 0x84]
mov eax, dword [eax + 8]
mov dword [ebp - 0x80], eax
mov dword [esp + 0xc], 0xfffffffe
mov eax, dword [ebp - 0x80]
xor ecx, ecx
mov edx, 0x55
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp + 4], eax
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp4
movzx eax, byte [esi + 2]
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov ecx, dword [ebp - 0x7c]
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3VdbeAddFunctionCall.isra.0
cmp dword [ebp - 0x78], 0
je 0x1012971d
cmp dword [ebp - 0x88], 0
jne 0x1012971d
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ReleaseTempRange
jmp 0x1012971d
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x101292cd
jmp 0x101292a1
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x101292a8
xor ebx, ebx
jmp 0x10129720
test byte [esi + 5], 0x10
je 0x101292cd
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
cmp edx, 1
je 0x101292cd
mov eax, dword [ebp - 0x6c]
mov ecx, 1
call sym._sqlite3SubselectError
jmp 0x10129707
mov eax, dword [ebp - 0x6c]
add esp, 0xbc
mov edx, esi
pop ebx
pop esi
pop edi
pop ebp
jmp sym._sqlite3CodeSubselect
mov edi, dword [esi + 0xc]
cmp dword [edi + 0x1c], 0
je 0x101292f5
mov eax, dword [ebp - 0x6c]
mov al, byte [eax + 0x1a]
cmp byte [edi + 2], al
jae 0x1012930b
mov eax, dword [ebp - 0x6c]
mov edx, edi
call sym._sqlite3CodeSubselect
mov dword [edi + 0x1c], eax
mov eax, dword [ebp - 0x6c]
mov al, byte [eax + 0x1a]
mov byte [edi + 2], al
mov eax, edi
call sym._sqlite3ExprVectorSize
mov edx, dword [esi + 0x1c]
cmp edx, eax
je 0x10129334
mov dword [esp + 0xc], eax
mov dword [esp + 8], edx
mov dword [esp + 4], str._d_columns_assigned__d_values
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
movsx ebx, word [esi + 0x20]
add ebx, dword [edi + 0x1c]
jmp 0x10129720
mov eax, dword [ebp - 0x6c]
xor ecx, ecx
mov edx, 0x4b
mov ebx, dword [eax + 0x38]
lea edi, [ebx - 1]
sub ebx, 2
mov dword [eax + 0x38], ebx
mov eax, dword [ebp - 0x70]
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov dword [esp], ebx
mov eax, dword [ebp - 0x6c]
mov ecx, edi
mov edx, esi
call sym._sqlite3ExprCodeIN
mov eax, dword [ebp - 0x70]
mov ecx, 1
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0x74]
mov edx, edi
call sym._sqlite3VdbeResolveLabel
xor eax, eax
mov edx, 0x56
mov dword [esp], eax
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov edx, ebx
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeResolveLabel
jmp 0x1012971d
xor eax, eax
mov edx, esi
mov dword [esp + 4], eax
mov dword [esp], eax
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
call sym._exprCodeBetween
jmp 0x1012971d
cmp byte [esi], 0xac
jne 0x101285dd
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x6c]
mov edx, esi
call sym._sqlite3ExprCodeTarget
mov ecx, eax
cmp dword [ebp - 0x70], eax
je 0x10129404
mov eax, dword [ebp - 0x70]
mov edx, 0x51
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0x70]
mov edx, 0xb3
jmp 0x101287e6
mov esi, dword [esi + 0xc]
jmp 0x101285d5
mov edi, dword [esi + 0x2c]
movsx ebx, word [esi + 0x20]
mov eax, edi
mov edx, ebx
call sym._sqlite3TableColumnToStorage
movsx edx, ax
movsx eax, word [edi + 0x22]
inc eax
imul eax, dword [esi + 0x1c]
lea ecx, [eax + edx + 1]
mov eax, dword [ebp - 0x70]
mov edx, 0x9d
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
test ebx, ebx
js 0x10129707
shl ebx, 4
add ebx, dword [edi + 4]
cmp byte [ebx + 8], 0x45
jne 0x10129707
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov edx, 0x57
call sym._sqlite3VdbeAddOp1
jmp 0x10129707
mov dword [esp + 4], str.row_value_misused
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x10129707
mov eax, dword [ebp - 0x6c]
mov ecx, dword [esi + 0x1c]
mov edx, 0x12
mov bl, byte [eax + 0x17]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp1
mov ecx, dword [ebp - 0x70]
mov edi, eax
mov eax, dword [ebp - 0x6c]
mov byte [eax + 0x17], 0
mov edx, dword [esi + 0xc]
call sym._sqlite3ExprCodeTarget
mov edx, edi
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
mov byte [eax + 0x17], bl
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeJumpHere
mov eax, dword [ebp - 0x74]
mov edx, edi
call sym._sqlite3VdbeGetOp
mov edi, dword [ebp - 0x70]
mov dword [eax + 0xc], edi
jmp 0x10129707
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
mov dword [ebp - 0x78], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x80], eax
mov eax, dword [eax]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax + 0x38]
mov dword [ebp - 0x7c], eax
dec eax
mov dword [ebp - 0x88], eax
mov eax, dword [ebp - 0x6c]
mov edi, dword [ebp - 0x88]
mov dword [eax + 0x38], edi
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x84], eax
test eax, eax
je 0x1012957c
mov edx, eax
mov eax, dword [ebp - 0x78]
xor ecx, ecx
call sym._sqlite3ExprDup
mov ebx, eax
mov eax, dword [ebp - 0x78]
cmp byte [eax + 0x57], 0
je 0x1012954a
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._sqlite3ExprDelete
jmp 0x10129707
mov eax, dword [ebp - 0x6c]
lea ecx, [ebp - 0x60]
mov edx, ebx
call sym._exprCodeVector
mov edx, eax
mov eax, ebx
call sym._exprToRegister
lea edx, [ebp - 0x4c]
xor eax, eax
mov ecx, 0xd
mov edi, edx
rep stosd dword es:[edi], eax
xor eax, eax
mov byte [ebp - 0x4c], 0x35
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x60], eax
jmp 0x10129580
xor ebx, ebx
xor edx, edx
mov eax, dword [ebp - 0x80]
lea esi, [eax + 8]
xor eax, eax
mov dword [ebp - 0x8c], eax
mov eax, dword [ebp - 0x90]
mov edi, dword [ebp - 0x8c]
dec eax
cmp eax, edi
jle 0x10129615
cmp dword [ebp - 0x84], 0
mov edi, dword [esi]
je 0x101295af
mov dword [ebp - 0x3c], edi
mov edi, edx
mov eax, dword [ebp - 0x6c]
add esi, 0x28
mov eax, dword [eax + 0x38]
dec eax
mov dword [ebp - 0x7c], eax
mov eax, dword [ebp - 0x6c]
mov ecx, dword [ebp - 0x7c]
mov dword [eax + 0x38], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], 0x10
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sym._sqlite3ExprIfFalse
mov ecx, dword [ebp - 0x70]
mov edx, dword [esi - 0x14]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCode
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeGoto
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeResolveLabel
add dword [ebp - 0x8c], 2
mov edx, edi
jmp 0x1012958e
test byte [ebp - 0x90], 1
je 0x10129635
imul eax, eax, 0x14
mov edi, dword [ebp - 0x80]
mov ecx, dword [ebp - 0x70]
mov edx, dword [edi + eax + 8]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprCode
jmp 0x1012964a
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x4b
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x78]
mov dword [esp], eax
call sym._sqlite3ExprDelete
mov eax, dword [ebp - 0x74]
call sym._setDoNotMergeFlagOnCopy
mov edx, dword [ebp - 0x88]
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeResolveLabel
jmp 0x10129707
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x78], 0
jne 0x10129698
cmp byte [eax + 0x12], 0
jne 0x10129698
mov dword [esp + 4], str.RAISE___may_only_be_used_within_a_trigger_program
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x101292a1
movsx ecx, byte [esi + 1]
cmp cl, 2
jne 0x101296ab
mov eax, dword [ebp - 0x6c]
call sym._sqlite3MayAbort
jmp 0x101296db
mov eax, dword [esi + 8]
cmp cl, 4
jne 0x101296db
xor esi, esi
xor edi, edi
mov dword [esp + 8], eax
xor ecx, ecx
mov dword [esp + 0xc], esi
mov edx, 0x46
mov dword [esp + 4], edi
mov dword [esp], 4
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp4
jmp 0x10129707
mov edi, dword [ebp - 0x6c]
mov eax, dword [esi + 8]
cmp dword [edi + 0x78], 1
mov dword [esp], eax
mov eax, edi
sbb edx, edx
xor ebx, ebx
mov dword [esp + 8], ebx
and edx, 0xfffff8ee
mov dword [esp + 4], ebx
add edx, 0x713
call sym._sqlite3HaltConstraint
mov edx, dword [ebp - 0x60]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ReleaseTempReg
mov edx, dword [ebp - 0x5c]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ReleaseTempReg
mov ebx, dword [ebp - 0x70]
add esp, 0xbc
mov eax, ebx
pop ebx
pop esi
pop edi
pop ebp
ret