Function at 0x1011d700
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.0x1011d777.2
mov al, byte [esi]
cmp al, 0xb5
ja case.0x1011d777.2
cmp al, 0x70
ja 0x1011d769
movzx edi, al
cmp al, 0x47
ja 0x1011d793
cmp al, 0x2a
ja 0x1011d77e
cmp al, 0x24
je 0x1011da6c
ja case.0x1011d777.2
cmp al, 0x13
je 0x1011df0c
cmp al, 0x14
je 0x1011e3d9
jmp case.0x1011d777.2
sub eax, 0x71
cmp al, 0x44
ja case.0x1011d777.2
movzx eax, al
jmp dword [eax*4 + 0x101eda84]
sub eax, 0x2b
cmp al, 0x1c
ja case.0x1011d777.2
movzx eax, al
jmp dword [eax*4 + 0x101edb98]
cmp al, 0x4d
je 0x1011e569
sub eax, 0x66
cmp al, 9
ja case.0x1011d777.2
jmp case.0x1011d78c.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 0x1011d7c5
mov ebx, dword [ebx + 0xc]
jmp 0x1011e870
cmp byte [eax + 1], 0
je case.0x1011d777.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 0x1011e86d
shl eax, 4
add eax, dword [esi + 4]
cmp byte [eax + 8], 0x45
jmp 0x1011d985
mov ecx, dword [esi + 0x1c]
test byte [esi + 4], 0x20
je 0x1011d876
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 0x1011d835
movsx edx, word [esi + 0x20]
call sym._sqlite3TableColumnAffinity
movsx eax, al
jmp 0x1011d839
movsx eax, byte [esi + 1]
cmp eax, 0x41
jle 0x1011e870
lea eax, [eax + eax + 0x101f87bc]
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 0x1011e870
mov edi, dword [esi + 0x2c]
movsx edx, word [esi + 0x20]
mov dword [ebp - 0x78], edi
test ecx, ecx
jns 0x1011d943
mov edi, dword [ebp - 0x6c]
mov edi, dword [edi + 0x34]
lea ecx, [edi - 1]
test edi, edi
jns 0x1011d943
test dx, dx
jns 0x1011d8a7
not edi
mov ebx, edi
jmp 0x1011e870
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 0x1011d90f
test ah, 1
je 0x1011d8e7
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 0x1011e3f1
mov edx, eax
or dh, 1
mov word [esi + 0xe], dx
test al, 0x80
je 0x1011d904
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 0x1011e870
cmp byte [esi + 8], 0x45
jne 0x1011e870
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 0x1011e86d
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 0x1011d977
mov eax, dword [ebp - 0x6c]
or edx, 0xffffffff
mov eax, dword [eax + 8]
call sym._sqlite3VdbeGetOp
cmp byte [eax], 0x5e
jne 0x1011d977
mov word [eax + 2], bx
cmp dword [esi + 0x2c], 0
jne 0x1011e86d
cmp byte [esi + 1], 0x45
jne 0x1011e86d
jmp 0x1011d92e
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, esi
mov dword [esp], eax
jmp 0x1011de97
mov eax, esi
call sym._sqlite3ExprTruthValue
jmp 0x1011e1b1
mov eax, dword [ebp - 0x70]
mov edx, dword [esi + 8]
xor ecx, ecx
mov dword [esp], eax
jmp 0x1011deb6
mov ecx, dword [esi + 8]
jmp 0x1011e21c
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 0x1011e86d
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 0x1011e86d
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 0x1011e86d
mov ebx, dword [esi + 0x1c]
jmp 0x1011e870
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 0x1011da94
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 0x1011e1e5
mov dword [ebp - 0x78], pe_nt_image_headers32
cmp edi, 0x2d
jne 0x1011dad4
mov edi, 0x35
jmp 0x1011dad9
mov dword [ebp - 0x78], pe_nt_image_headers32
jmp 0x1011dad4
xor ebx, ebx
mov dword [ebp - 0x78], ebx
jmp 0x1011dad9
mov edi, 0x34
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x7c], eax
call sym._sqlite3ExprIsVector
test eax, eax
je 0x1011dd97
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 0x1011e857
mov eax, dword [ebp - 0x88]
call sym._sqlite3ExprVectorSize
cmp dword [ebp - 0x8c], eax
jne case.0x1011d777.64
mov eax, edi
mov bl, 0x38
mov byte [ebp - 0xa1], al
cmp edi, 0x37
je 0x1011db62
mov bl, 0x36
cmp edi, 0x39
je 0x1011db62
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 0x1011db82
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 0x1011dba5
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 0x1011dbea
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 0x1011dccf
cmp dword [ebp - 0x90], esi
jle 0x1011dccf
mov eax, dword [ebp - 0x74]
mov edx, 0x3a
call sym._sqlite3VdbeAddOp0
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x78], 0x80
jne 0x1011dcef
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x1011dd12
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 0x1011dd63
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
cmp bl, 0x35
jne 0x1011dd3a
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov edx, 0x33
call sym._sqlite3VdbeAddOp2
jmp 0x1011dd5d
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 0x1011dbcb
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 0x1011e857
mov eax, dword [ebp - 0x70]
mov edx, 0x13
mov dword [esp], eax
mov ecx, eax
jmp 0x1011de29
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 0x1011de36
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x1011e857
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x70]
mov edx, 0x5c
mov dword [esp], eax
mov ecx, dword [ebp - 0x80]
jmp 0x1011de76
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 0x1011e857
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x9b
jne 0x1011dea4
mov eax, dword [ebp - 0x70]
mov ecx, 1
mov dword [esp], eax
mov eax, dword [ebp - 0x6c]
call sym._codeInteger
jmp 0x1011e86d
cmp al, 0x99
jne 0x1011dec3
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 0x1011e86d
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 0x1011de76
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 0x1011de29
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 0x1011e857
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 0x1011e857
mov edx, dword [esi + 0x28]
test edx, edx
je 0x1011dfe1
movsx eax, word [esi + 0x22]
test ax, ax
js 0x1011dfe1
cmp eax, dword [edx + 0x2c]
jl 0x1011dff2
mov dword [esp + 8], esi
mov dword [esp + 4], str.misuse_of_aggregate:__T__
jmp 0x1011e09b
imul eax, eax, 0x14
add eax, dword [edx + 0x28]
mov ebx, dword [eax + 8]
jmp 0x1011e870
test byte [esi + 7], 1
je 0x1011e011
mov eax, dword [esi + 0x2c]
mov ebx, dword [eax + 0x38]
jmp 0x1011e870
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 0x1011e054
xor ecx, ecx
mov edx, 2
mov eax, esi
call sym._exprIsConst
test eax, eax
je 0x1011e054
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 0x1011e065
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 0x1011e08f
cmp dword [eax + 0x14], 0
je 0x1011e0ab
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 0x1011e857
mov eax, dword [eax + 4]
mov ecx, eax
and ecx, 0x400000
mov dword [ebp - 0x88], ecx
je 0x1011e22c
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.0x1011e0dd
mov eax, dword [edi + 8]
jmp dword [eax*4 + 0x101edc0c]
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 0x1011e133
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 0x1011e106
mov eax, dword [ebp - 0x74]
call sym._setDoNotMergeFlagOnCopy
mov edx, esi
jmp 0x1011e4fc
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 0x1011e870
mov esi, dword [ebx + 8]
jmp 0x1011d714
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 8]
mov dword [esp], 0xffffffff
xor eax, eax
call sym._sqlite3ExprCompare
jmp 0x1011e1b1
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 8]
mov dword [esp], 0xffffffff
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprImpliesExpr
jmp 0x1011e1b1
mov eax, dword [ebx + 0x1c]
cmp byte [eax], 0xa7
jne case.0x1011d777.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 0x1011e1e5
mov eax, dword [esi + 4]
mov esi, dword [esi + 0xc]
bt eax, 9
jb 0x1011d725
test esi, esi
jne 0x1011e524
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x4b
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x1011e86d
lea edi, [ebp - 0x4c]
mov esi, 0x10163300
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 0x1011e21c
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 0x1011e86d
test eax, 0x280000
je 0x1011e23f
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 0x1011e2ae
cmp ecx, 0x1f
jg 0x1011e27f
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 0x1011e27f
mov eax, 1
shl eax, cl
or dword [ebp - 0x88], eax
test byte [edi + 4], 0x20
je 0x1011e2a7
cmp dword [ebp - 0x80], 0
jne 0x1011e2a7
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 0x1011e24c
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test ebx, ebx
je 0x1011e31b
cmp dword [ebp - 0x88], 0
je 0x1011e2d9
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 0x1011e2e7
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 0x1011e301
mov edx, dword [ebx + 8]
mov cl, byte [edx]
add ecx, 0x59
and cl, 0xfd
jne 0x1011e301
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 0x1011e32c
test byte [esi + 5], 1
je 0x1011e32e
mov eax, dword [ebx + 0x1c]
jmp 0x1011e331
jne 0x1011e346
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 0x1011e385
cmp dword [ebp - 0x80], 0
jne 0x1011e35e
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 0x1011e86d
cmp dword [ebp - 0x88], 0
jne 0x1011e86d
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ReleaseTempRange
jmp 0x1011e86d
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x1011e41d
jmp 0x1011e3f1
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x1011e3f8
xor ebx, ebx
jmp 0x1011e870
test byte [esi + 5], 0x10
je 0x1011e41d
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
cmp edx, 1
je 0x1011e41d
mov eax, dword [ebp - 0x6c]
mov ecx, 1
call sym._sqlite3SubselectError
jmp 0x1011e857
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 0x1011e445
mov eax, dword [ebp - 0x6c]
mov al, byte [eax + 0x1a]
cmp byte [edi + 2], al
jae 0x1011e45b
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 0x1011e484
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 0x1011e870
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 0x1011e86d
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 0x1011e86d
cmp byte [esi], 0xac
jne 0x1011d72d
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 0x1011e554
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 0x1011d936
mov esi, dword [esi + 0xc]
jmp 0x1011d725
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 0x1011e857
shl ebx, 4
add ebx, dword [edi + 4]
cmp byte [ebx + 8], 0x45
jne 0x1011e857
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov edx, 0x57
call sym._sqlite3VdbeAddOp1
jmp 0x1011e857
mov dword [esp + 4], str.row_value_misused
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1011e857
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 0x1011e857
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 0x1011e6cc
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 0x1011e69a
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._sqlite3ExprDelete
jmp 0x1011e857
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 0x1011e6d0
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 0x1011e765
cmp dword [ebp - 0x84], 0
mov edi, dword [esi]
je 0x1011e6ff
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 0x1011e6de
test byte [ebp - 0x90], 1
je 0x1011e785
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 0x1011e79a
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 0x1011e857
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x78], 0
jne 0x1011e7e8
cmp byte [eax + 0x12], 0
jne 0x1011e7e8
mov dword [esp + 4], str.RAISE___may_only_be_used_within_a_trigger_program
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1011e3f1
movsx ecx, byte [esi + 1]
cmp cl, 2
jne 0x1011e7fb
mov eax, dword [ebp - 0x6c]
call sym._sqlite3MayAbort
jmp 0x1011e82b
mov eax, dword [esi + 8]
cmp cl, 4
jne 0x1011e82b
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 0x1011e857
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