Function at 0x1011d920
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.0x1011d997.2
mov al, byte [esi]
cmp al, 0xb5
ja case.0x1011d997.2
cmp al, 0x70
ja 0x1011d989
movzx edi, al
cmp al, 0x47
ja 0x1011d9b3
cmp al, 0x2a
ja 0x1011d99e
cmp al, 0x24
je 0x1011dc8c
ja case.0x1011d997.2
cmp al, 0x13
je 0x1011e12c
cmp al, 0x14
je 0x1011e5f9
jmp case.0x1011d997.2
sub eax, 0x71
cmp al, 0x44
ja case.0x1011d997.2
movzx eax, al
jmp dword [eax*4 + 0x101e976c]
sub eax, 0x2b
cmp al, 0x1c
ja case.0x1011d997.2
movzx eax, al
jmp dword [eax*4 + 0x101e9880]
cmp al, 0x4d
je 0x1011e789
sub eax, 0x66
cmp al, 9
ja case.0x1011d997.2
jmp case.0x1011d9ac.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 0x1011d9e5
mov ebx, dword [ebx + 0xc]
jmp 0x1011ea90
cmp byte [eax + 1], 0
je case.0x1011d997.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 0x1011ea8d
shl eax, 4
add eax, dword [esi + 4]
cmp byte [eax + 8], 0x45
jmp 0x1011dba5
mov ecx, dword [esi + 0x1c]
test byte [esi + 4], 0x20
je 0x1011da96
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 0x1011da55
movsx edx, word [esi + 0x20]
call sym._sqlite3TableColumnAffinity
movsx eax, al
jmp 0x1011da59
movsx eax, byte [esi + 1]
cmp eax, 0x41
jle 0x1011ea90
lea eax, [eax + eax + 0x101f44bc]
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 0x1011ea90
mov edi, dword [esi + 0x2c]
movsx edx, word [esi + 0x20]
mov dword [ebp - 0x78], edi
test ecx, ecx
jns 0x1011db63
mov edi, dword [ebp - 0x6c]
mov edi, dword [edi + 0x34]
lea ecx, [edi - 1]
test edi, edi
jns 0x1011db63
test dx, dx
jns 0x1011dac7
not edi
mov ebx, edi
jmp 0x1011ea90
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 0x1011db2f
test ah, 1
je 0x1011db07
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 0x1011e611
mov edx, eax
or dh, 1
mov word [esi + 0xe], dx
test al, 0x80
je 0x1011db24
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 0x1011ea90
cmp byte [esi + 8], 0x45
jne 0x1011ea90
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 0x1011ea8d
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 0x1011db97
mov eax, dword [ebp - 0x6c]
or edx, 0xffffffff
mov eax, dword [eax + 8]
call sym._sqlite3VdbeGetOp
cmp byte [eax], 0x5e
jne 0x1011db97
mov word [eax + 2], bx
cmp dword [esi + 0x2c], 0
jne 0x1011ea8d
cmp byte [esi + 1], 0x45
jne 0x1011ea8d
jmp 0x1011db4e
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, esi
mov dword [esp], eax
jmp 0x1011e0b7
mov eax, esi
call sym._sqlite3ExprTruthValue
jmp 0x1011e3d1
mov eax, dword [ebp - 0x70]
mov edx, dword [esi + 8]
xor ecx, ecx
mov dword [esp], eax
jmp 0x1011e0d6
mov ecx, dword [esi + 8]
jmp 0x1011e43c
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 0x1011ea8d
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 0x1011ea8d
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 0x1011ea8d
mov ebx, dword [esi + 0x1c]
jmp 0x1011ea90
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 0x1011dcb4
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 0x1011e405
mov dword [ebp - 0x78], pe_nt_image_headers32
cmp edi, 0x2d
jne 0x1011dcf4
mov edi, 0x35
jmp 0x1011dcf9
mov dword [ebp - 0x78], pe_nt_image_headers32
jmp 0x1011dcf4
xor ebx, ebx
mov dword [ebp - 0x78], ebx
jmp 0x1011dcf9
mov edi, 0x34
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x7c], eax
call sym._sqlite3ExprIsVector
test eax, eax
je 0x1011dfb7
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 0x1011ea77
mov eax, dword [ebp - 0x88]
call sym._sqlite3ExprVectorSize
cmp dword [ebp - 0x8c], eax
jne case.0x1011d997.64
mov eax, edi
mov bl, 0x38
mov byte [ebp - 0xa1], al
cmp edi, 0x37
je 0x1011dd82
mov bl, 0x36
cmp edi, 0x39
je 0x1011dd82
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 0x1011dda2
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 0x1011ddc5
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 0x1011de0a
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 0x1011deef
cmp dword [ebp - 0x90], esi
jle 0x1011deef
mov eax, dword [ebp - 0x74]
mov edx, 0x3a
call sym._sqlite3VdbeAddOp0
mov dword [ebp - 0x80], eax
cmp dword [ebp - 0x78], 0x80
jne 0x1011df0f
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x1011df32
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 0x1011df83
mov eax, dword [ebp - 0x84]
mov dword [esp], eax
cmp bl, 0x35
jne 0x1011df5a
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov edx, 0x33
call sym._sqlite3VdbeAddOp2
jmp 0x1011df7d
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 0x1011ddeb
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 0x1011ea77
mov eax, dword [ebp - 0x70]
mov edx, 0x13
mov dword [esp], eax
mov ecx, eax
jmp 0x1011e049
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 0x1011e056
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x47
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x1011ea77
mov dword [esp + 4], ebx
mov eax, dword [ebp - 0x70]
mov edx, 0x5c
mov dword [esp], eax
mov ecx, dword [ebp - 0x80]
jmp 0x1011e096
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 0x1011ea77
mov edx, dword [esi + 0xc]
mov al, byte [edx]
cmp al, 0x9b
jne 0x1011e0c4
mov eax, dword [ebp - 0x70]
mov ecx, 1
mov dword [esp], eax
mov eax, dword [ebp - 0x6c]
call sym._codeInteger
jmp 0x1011ea8d
cmp al, 0x99
jne 0x1011e0e3
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 0x1011ea8d
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 0x1011e096
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 0x1011e049
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 0x1011ea77
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 0x1011ea77
mov edx, dword [esi + 0x28]
test edx, edx
je 0x1011e201
movsx eax, word [esi + 0x22]
test ax, ax
js 0x1011e201
cmp eax, dword [edx + 0x2c]
jl 0x1011e212
mov dword [esp + 8], esi
mov dword [esp + 4], str.misuse_of_aggregate:__T__
jmp 0x1011e2bb
imul eax, eax, 0x14
add eax, dword [edx + 0x28]
mov ebx, dword [eax + 8]
jmp 0x1011ea90
test byte [esi + 7], 1
je 0x1011e231
mov eax, dword [esi + 0x2c]
mov ebx, dword [eax + 0x38]
jmp 0x1011ea90
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 0x1011e274
xor ecx, ecx
mov edx, 2
mov eax, esi
call sym._exprIsConst
test eax, eax
je 0x1011e274
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 0x1011e285
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 0x1011e2af
cmp dword [eax + 0x14], 0
je 0x1011e2cb
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 0x1011ea77
mov eax, dword [eax + 4]
mov ecx, eax
and ecx, 0x400000
mov dword [ebp - 0x88], ecx
je 0x1011e44c
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.0x1011e2fd
mov eax, dword [edi + 8]
jmp dword [eax*4 + 0x101e98f4]
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 0x1011e353
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 0x1011e326
mov eax, dword [ebp - 0x74]
call sym._setDoNotMergeFlagOnCopy
mov edx, esi
jmp 0x1011e71c
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 0x1011ea90
mov esi, dword [ebx + 8]
jmp 0x1011d934
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 8]
mov dword [esp], 0xffffffff
xor eax, eax
call sym._sqlite3ExprCompare
jmp 0x1011e3d1
mov ecx, dword [ebx + 0x1c]
mov edx, dword [ebx + 8]
mov dword [esp], 0xffffffff
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ExprImpliesExpr
jmp 0x1011e3d1
mov eax, dword [ebx + 0x1c]
cmp byte [eax], 0xa7
jne case.0x1011d997.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 0x1011e405
mov eax, dword [esi + 4]
mov esi, dword [esi + 0xc]
bt eax, 9
jb 0x1011d945
test esi, esi
jne 0x1011e744
mov eax, dword [ebp - 0x70]
xor ecx, ecx
mov edx, 0x4b
mov dword [esp], eax
mov eax, dword [ebp - 0x74]
call sym._sqlite3VdbeAddOp2
jmp 0x1011ea8d
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 0x1011e43c
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 0x1011ea8d
test eax, 0x280000
je 0x1011e45f
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 0x1011e4ce
cmp ecx, 0x1f
jg 0x1011e49f
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 0x1011e49f
mov eax, 1
shl eax, cl
or dword [ebp - 0x88], eax
test byte [edi + 4], 0x20
je 0x1011e4c7
cmp dword [ebp - 0x80], 0
jne 0x1011e4c7
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 0x1011e46c
xor ecx, ecx
mov dword [ebp - 0x7c], ecx
test ebx, ebx
je 0x1011e53b
cmp dword [ebp - 0x88], 0
je 0x1011e4f9
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 0x1011e507
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 0x1011e521
mov edx, dword [ebx + 8]
mov cl, byte [edx]
add ecx, 0x59
and cl, 0xfd
jne 0x1011e521
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 0x1011e54c
test byte [esi + 5], 1
je 0x1011e54e
mov eax, dword [ebx + 0x1c]
jmp 0x1011e551
jne 0x1011e566
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 0x1011e5a5
cmp dword [ebp - 0x80], 0
jne 0x1011e57e
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 0x1011ea8d
cmp dword [ebp - 0x88], 0
jne 0x1011ea8d
mov ecx, dword [ebp - 0x78]
mov edx, dword [ebp - 0x7c]
mov eax, dword [ebp - 0x6c]
call sym._sqlite3ReleaseTempRange
jmp 0x1011ea8d
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x1011e63d
jmp 0x1011e611
mov eax, dword [ebp - 0x6c]
mov eax, dword [eax]
cmp byte [eax + 0x57], 0
je 0x1011e618
xor ebx, ebx
jmp 0x1011ea90
test byte [esi + 5], 0x10
je 0x1011e63d
mov eax, dword [esi + 0x14]
mov eax, dword [eax + 0x1c]
mov edx, dword [eax]
cmp edx, 1
je 0x1011e63d
mov eax, dword [ebp - 0x6c]
mov ecx, 1
call sym._sqlite3SubselectError
jmp 0x1011ea77
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 0x1011e665
mov eax, dword [ebp - 0x6c]
mov al, byte [eax + 0x1a]
cmp byte [edi + 2], al
jae 0x1011e67b
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 0x1011e6a4
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 0x1011ea90
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 0x1011ea8d
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 0x1011ea8d
cmp byte [esi], 0xac
jne 0x1011d94d
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 0x1011e774
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 0x1011db56
mov esi, dword [esi + 0xc]
jmp 0x1011d945
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 0x1011ea77
shl ebx, 4
add ebx, dword [edi + 4]
cmp byte [ebx + 8], 0x45
jne 0x1011ea77
mov ecx, dword [ebp - 0x70]
mov eax, dword [ebp - 0x74]
mov edx, 0x57
call sym._sqlite3VdbeAddOp1
jmp 0x1011ea77
mov dword [esp + 4], str.row_value_misused
mov eax, dword [ebp - 0x6c]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1011ea77
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 0x1011ea77
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 0x1011e8ec
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 0x1011e8ba
mov dword [esp + 4], ebx
mov dword [esp], eax
call sym._sqlite3ExprDelete
jmp 0x1011ea77
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 0x1011e8f0
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 0x1011e985
cmp dword [ebp - 0x84], 0
mov edi, dword [esi]
je 0x1011e91f
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 0x1011e8fe
test byte [ebp - 0x90], 1
je 0x1011e9a5
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 0x1011e9ba
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 0x1011ea77
mov eax, dword [ebp - 0x6c]
cmp dword [eax + 0x78], 0
jne 0x1011ea08
cmp byte [eax + 0x12], 0
jne 0x1011ea08
mov dword [esp + 4], str.RAISE___may_only_be_used_within_a_trigger_program
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x1011e611
movsx ecx, byte [esi + 1]
cmp cl, 2
jne 0x1011ea1b
mov eax, dword [ebp - 0x6c]
call sym._sqlite3MayAbort
jmp 0x1011ea4b
mov eax, dword [esi + 8]
cmp cl, 4
jne 0x1011ea4b
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 0x1011ea77
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