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

Disassembly:
push ebp
mov ebp, esp
push edi
xor edi, edi
push esi
push ebx
sub esp, 0x18c
mov dword [ebp - 0xdc], eax
mov eax, dword [ebp + 8]
mov dword [ebp - 0x110], edx
mov dword [ebp - 0xec], eax
mov eax, dword [ebp + 0xc]
mov dword [ebp - 0xe8], ecx
mov dword [ebp - 0x120], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0xd8], edi
mov dword [ebp - 0x12c], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xd4], edi
mov eax, dword [eax]
mov dword [ebp - 0xfc], eax
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0x24], 0
jne 0x1013189c
xor esi, esi
mov dword [ebp - 0xb8], esi
mov dword [ebp - 0x104], esi
test ecx, ecx
je 0x1012f989
test byte [ecx + 5], 2
je 0x1012f989
cmp dword [ecx + 0x34], 0
jne 0x1012f989
mov eax, dword [ecx + 0x1c]
xor ebx, ebx
mov dword [ebp - 0x104], eax
mov eax, ecx
xor ecx, ecx
mov dword [eax + 0x1c], ecx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xfc]
mov dword [esp], eax
call sym._sqlite3SelectDelete
mov dword [ebp - 0xe8], ebx
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3SrcListLookup
mov esi, eax
test eax, eax
je 0x10131892
mov edx, dword [eax + 0x3c]
mov eax, dword [ebp - 0xfc]
call sym._sqlite3SchemaToIndex
mov edi, dword [ebp - 0xfc]
mov edx, 0x12
mov dword [ebp - 0x108], eax
shl eax, 4
add eax, dword [edi + 0x10]
mov eax, dword [eax]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp], eax
mov ecx, dword [esi]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3AuthCheck
xor edx, edx
mov dword [ebp - 0xf8], edx
test eax, eax
jne 0x101318aa
mov eax, dword [esi + 0x1c]
mov edx, esi
mov ecx, 0x7f
mov dword [ebp - 0x138], eax
lea eax, [ebp - 0xd0]
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3TriggersExist
mov edx, esi
mov dword [ebp - 0x124], eax
mov al, byte [esi + 0x2b]
mov byte [ebp - 0x13d], al
mov eax, dword [ebp - 0xdc]
call sym._sqlite3ViewGetColumnNames
test eax, eax
jne 0x10131892
mov eax, dword [ebp - 0xd0]
mov edx, esi
mov dword [ebp - 0x154], eax
mov ecx, eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3IsReadOnly
test eax, eax
jne 0x10131892
mov eax, dword [ebp - 0xdc]
call sym._sqlite3GetVdbe
mov dword [ebp - 0xe0], eax
test eax, eax
je 0x10131892
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x12], 0
jne 0x1012fa94
mov eax, dword [ebp - 0xe0]
or byte [eax + 0x98], 0x10
mov eax, dword [ebp - 0xe8]
xor edx, edx
mov ecx, dword [ebp - 0x108]
or eax, dword [ebp - 0x124]
mov eax, dword [ebp - 0xdc]
setne dl
call sym._sqlite3BeginWriteOperation
mov eax, dword [ebp - 0x124]
or eax, dword [ebp - 0xec]
jne 0x1013055c
cmp dword [ebp - 0xe8], 0
je 0x1013055c
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax]
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xdc]
cmp dword [eax + 0x108], 0
jne 0x1013055c
mov eax, dword [ebp - 0xe8]
cmp dword [eax + 0x40], 0
jne 0x1013055c
cmp byte [esi + 0x2b], 1
je 0x1013055c
mov eax, dword [ebp - 0x120]
mov dword [ebp - 0x10c], eax
cmp eax, 0xb
jne 0x1012fb4b
mov dword [ebp - 0x10c], 2
cmp word [esi + 0x20], 0
js 0x1012fb4b
movzx eax, byte [esi + 0x2a]
mov dword [ebp - 0x10c], eax
cmp eax, 0xb
jne 0x1012fb4b
mov dword [ebp - 0x10c], 2
mov eax, dword [ebp - 0xe8]
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x1013055c
cmp dword [ecx + 0x1c], 0
jne 0x1013055c
cmp dword [eax + 0x24], 0
jne 0x1013055c
cmp dword [eax + 0x30], 0
jne 0x1013055c
cmp dword [eax + 0x28], 0
jne 0x1013055c
cmp dword [eax + 0x3c], 0
jne 0x1013055c
cmp dword [eax + 0x34], 0
jne 0x1013055c
test byte [eax + 4], 1
jne 0x1013055c
mov eax, dword [eax + 0x1c]
cmp dword [eax], 1
jne 0x1013055c
mov eax, dword [eax + 8]
cmp byte [eax], 0xb4
jne 0x1013055c
mov eax, dword [ebp - 0xdc]
add ecx, 8
xor edx, edx
call sym._sqlite3LocateTableItem
mov edi, eax
test eax, eax
je 0x1013055c
mov eax, dword [esi + 0x14]
cmp dword [edi + 0x14], eax
jne 0x1012fbe9
mov eax, dword [esi + 0x3c]
cmp dword [edi + 0x3c], eax
je 0x1013055c
mov ebx, dword [esi + 0x1c]
mov ecx, dword [edi + 0x1c]
mov edx, ebx
mov eax, ecx
shr edx, 7
shr eax, 7
xor edx, 1
xor eax, 1
and edx, 1
and eax, 1
cmp dl, al
jne 0x1013055c
cmp byte [edi + 0x2b], 0
jne 0x1013055c
mov ax, word [edi + 0x22]
cmp word [esi + 0x22], ax
jne 0x1013055c
mov eax, dword [edi + 0x20]
cmp word [esi + 0x20], ax
jne 0x1013055c
bt ebx, 0x10
jae 0x1012fc42
bt ecx, 0x10
jae 0x1013055c
xor eax, eax
mov dword [ebp - 0xf0], eax
movsx eax, word [esi + 0x22]
cmp dword [ebp - 0xf0], eax
jge 0x1012fda2
mov ebx, dword [ebp - 0xf0]
mov eax, dword [esi + 4]
shl ebx, 4
add eax, ebx
add ebx, dword [edi + 4]
mov dword [ebp - 0xe4], eax
mov dx, word [ebx + 0xe]
mov ax, word [eax + 0xe]
xor edx, eax
and dl, 0x60
jne 0x1013055c
test al, 0x60
jne 0x1012fc9b
mov ecx, dword [ebp - 0xe4]
mov al, byte [ebx + 8]
cmp byte [ecx + 8], al
je 0x1012fcdc
jmp 0x1013055c
mov eax, dword [ebp - 0xe4]
mov dx, word [eax + 0xc]
mov eax, esi
call sym._sqlite3ColumnExpr.isra.0
mov dx, word [ebx + 0xc]
mov dword [ebp - 0xf4], eax
mov eax, edi
call sym._sqlite3ColumnExpr.isra.0
mov dword [esp], 0xffffffff
mov ecx, dword [ebp - 0xf4]
mov edx, eax
xor eax, eax
call sym._sqlite3ExprCompare
test eax, eax
je 0x1012fc88
jmp 0x1013055c
mov eax, ebx
call sym._sqlite3ColumnColl
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xe4]
call sym._sqlite3ColumnColl
mov edx, dword [ebp - 0xf4]
mov dword [esp], eax
mov dword [esp + 4], edx
call sym._sqlite3_stricmp
test eax, eax
jne 0x1013055c
mov eax, dword [ebp - 0xe4]
test byte [eax + 4], 0xf
je 0x1012fd24
test byte [ebx + 4], 0xf
je 0x1013055c
mov eax, dword [ebp - 0xe4]
test byte [eax + 0xe], 0x60
jne 0x1012fd97
cmp dword [ebp - 0xf0], 0
je 0x1012fd97
mov dx, word [eax + 0xc]
mov eax, esi
call sym._sqlite3ColumnExpr.isra.0
mov dx, word [ebx + 0xc]
mov dword [ebp - 0xe4], eax
mov eax, edi
call sym._sqlite3ColumnExpr.isra.0
cmp dword [ebp - 0xe4], 0
sete dl
test eax, eax
mov ecx, eax
sete al
cmp dl, al
jne 0x1013055c
cmp dword [ebp - 0xe4], 0
je 0x1012fd97
mov eax, dword [ecx + 8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe4]
mov eax, dword [eax + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x1013055c
inc dword [ebp - 0xf0]
jmp 0x1012fc4a
xor eax, eax
mov ebx, dword [esi + 8]
mov dword [ebp - 0x114], eax
test ebx, ebx
je 0x1012fe16
cmp byte [ebx + 0x36], 0
mov eax, 1
cmove eax, dword [ebp - 0x114]
mov edx, dword [edi + 8]
mov dword [ebp - 0x114], eax
test edx, edx
je 0x1013055c
mov eax, ebx
mov dword [ebp - 0xe4], edx
call sym._xferCompatibleIndex
mov edx, dword [ebp - 0xe4]
test eax, eax
jne 0x1012fdee
mov edx, dword [edx + 0x14]
jmp 0x1012fdca
mov eax, dword [ebx + 0x2c]
cmp dword [edx + 0x2c], eax
je 0x1012fdfb
mov ebx, dword [ebx + 0x14]
jmp 0x1012fdad
mov eax, dword [esi + 0x3c]
cmp dword [edi + 0x3c], eax
jne 0x1012fdf6
mov eax, 0x19b
call sym._sqlite3FaultSim
test eax, eax
jne 0x1012fdf6
jmp 0x1013055c
mov edx, dword [esi + 0x10]
test edx, edx
jne 0x1012fe48
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x20]
mov dword [ebp - 0xe4], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xf8]
and edx, 0x4000
or edx, 0
mov eax, dword [eax + 0x24]
jne 0x1012fe5c
jmp 0x1012fe66
mov eax, dword [edi + 0x10]
or ecx, 0xffffffff
call sym._sqlite3ExprListCompare
test eax, eax
je 0x1012fe1d
jmp 0x1013055c
cmp dword [esi + 0x30], 0
jne 0x1013055c
and eax, 1
jne 0x1013055c
mov edx, dword [edi + 0x3c]
mov eax, dword [ebp - 0xf8]
call sym._sqlite3SchemaToIndex
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3GetVdbe
mov edx, dword [ebp - 0x11c]
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3CodeVerifySchema
mov eax, dword [ebp - 0xdc]
mov ebx, dword [ebp - 0xdc]
mov ecx, esi
mov edx, dword [ebp - 0x108]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xf0], eax
inc eax
mov dword [ebp - 0xf4], eax
mov eax, dword [ebp - 0xf0]
add eax, 2
mov dword [ebx + 0x28], eax
mov eax, ebx
call sym._autoIncBegin
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3GetTempReg
xor ecx, ecx
mov edx, 0x4b
mov dword [ebp - 0x118], eax
mov dword [esp], eax
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0xdc]
call sym._sqlite3GetTempReg
mov dword [ebp - 0x100], eax
mov dword [esp + 4], 0x71
mov dword [esp], esi
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x108]
mov edx, dword [ebp - 0xf4]
call sym._sqlite3OpenTable
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x18], 4
jne 0x1012ffab
cmp word [esi + 0x20], 0
jns 0x1012ff54
cmp dword [esi + 8], 0
jne 0x1012ff69
cmp dword [ebp - 0x114], 0
jne 0x1012ff69
mov eax, dword [ebp - 0x10c]
dec eax
cmp eax, 1
jbe 0x1012ffb3
xor ecx, ecx
mov edx, 0x23
mov dword [esp], ecx
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov edx, 8
mov ebx, eax
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp0
mov edx, ebx
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeJumpHere
jmp 0x1012ffb3
xor edx, edx
mov dword [ebp - 0x114], edx
test byte [edi + 0x1c], 0x80
jne 0x10130205
mov dword [esp + 4], 0x70
mov dword [esp], edi
mov ecx, dword [ebp - 0x11c]
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3OpenTable
xor eax, eax
mov edx, 0x23
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
cmp word [esi + 0x20], 0
mov dword [ebp - 0x128], eax
js 0x101300b4
mov eax, dword [ebp - 0x100]
mov edx, 0x87
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov ebx, eax
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x18], 4
jne 0x10130087
mov eax, dword [ebp - 0x100]
mov edx, 0x1e
mov dword [esp + 4], eax
xor eax, eax
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp - 0x10c]
mov ecx, esi
mov dword [ebp - 0x134], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3RowidConstraint
mov edx, dword [ebp - 0x134]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeJumpHere
cmp dword [ebp - 0x130], 0
jle 0x101300fd
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0x100]
mov edx, 0x9f
mov eax, dword [eax + 8]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x130]
call sym._sqlite3VdbeAddOp2
jmp 0x101300fd
cmp dword [esi + 8], 0
jne 0x101300dc
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x18], 8
jne 0x101300dc
mov eax, dword [ebp - 0x100]
mov edx, 0x7f
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
jmp 0x101300f0
mov eax, dword [ebp - 0x100]
mov edx, 0x87
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov ebx, eax
mov eax, dword [ebp - 0xf8]
mov byte [ebp - 0x10c], 0xa9
test byte [eax + 0x18], 4
je 0x1013012d
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
mov edx, 0x89
call sym._sqlite3VdbeAddOp1
mov byte [ebp - 0x10c], 0x98
mov eax, dword [ebp - 0x100]
mov edx, 0x81
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf0]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0x100]
mov edx, pe_nt_image_headers32
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x118]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x18], 4
jne 0x101301a2
mov dword [esp], 0xfffffffb
mov eax, dword [ebp - 0xe4]
mov ecx, esi
or edx, 0xffffffff
call sym._sqlite3VdbeChangeP4
movzx edx, byte [ebp - 0x10c]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeChangeP5
mov dword [esp], ebx
mov ecx, dword [ebp - 0xf0]
mov edx, 0x26
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
xor eax, eax
mov edx, 0x7a
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
xor eax, eax
mov edx, 0x7a
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
jmp 0x1013024d
mov eax, dword [esi]
mov ecx, dword [esi + 0x14]
mov dword [esp], 1
xor ebx, ebx
mov dword [esp + 4], eax
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3TableLock
mov eax, dword [edi]
mov ecx, dword [edi + 0x14]
mov dword [esp], ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x11c]
call sym._sqlite3TableLock
xor eax, eax
mov dword [ebp - 0x128], eax
mov eax, dword [esi + 8]
mov dword [ebp - 0x10c], eax
cmp dword [ebp - 0x10c], 0
je 0x1013049c
mov ebx, dword [edi + 8]
test ebx, ebx
je 0x10131937
mov eax, dword [ebp - 0x10c]
mov edx, ebx
call sym._xferCompatibleIndex
test eax, eax
jne 0x10130284
mov ebx, dword [ebx + 0x14]
jmp 0x10130266
mov eax, dword [ebp - 0x11c]
mov edx, 0x70
mov dword [esp + 4], eax
mov eax, dword [ebx + 0x2c]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0xdc]
mov edx, ebx
call sym._sqlite3VdbeSetP4KeyInfo
mov eax, dword [ebp - 0x108]
mov edx, 0x71
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3VdbeSetP4KeyInfo
mov eax, dword [ebp - 0xe4]
mov edx, 1
call sym._sqlite3VdbeChangeP5
xor edx, edx
mov dword [esp], edx
mov ecx, dword [ebp - 0xf0]
mov edx, 0x23
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xf8]
test byte [eax + 0x18], 4
je 0x101303ad
movzx ecx, word [ebx + 0x34]
xor edx, edx
cmp edx, ecx
jge 0x10130370
mov eax, dword [ebx + 0x20]
mov dword [ebp - 0x13c], ecx
mov dword [ebp - 0x134], edx
mov eax, dword [eax + edx*4]
mov dword [esp], str.BINARY
mov dword [esp + 4], eax
call sym._sqlite3_stricmp
test eax, eax
jne 0x101303ce
mov edx, dword [ebp - 0x134]
mov ecx, dword [ebp - 0x13c]
inc edx
jmp 0x10130337
mov bl, 0
jne 0x101303d0
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
mov edx, 0x89
mov bl, 0x90
call sym._sqlite3VdbeAddOp1
mov eax, dword [ebp - 0xf0]
mov edx, 0x81
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
jmp 0x101303f7
xor ebx, ebx
test byte [edi + 0x1c], 0x80
je 0x101303d0
mov eax, dword [ebp - 0x10c]
mov al, byte [eax + 0x38]
mov byte [ebp - 0x134], al
and eax, 3
cmp al, 2
sete bl
jmp 0x101303d0
xor ebx, ebx
mov dword [esp + 4], 1
mov eax, dword [ebp - 0x118]
mov edx, 0x86
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0x118]
mov edx, 0x8a
or ebx, 8
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0xe4]
movzx edx, bl
call sym._sqlite3VdbeChangeP5
mov eax, dword [ebp - 0x130]
mov edx, 0x26
inc eax
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov edx, dword [ebp - 0x130]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeJumpHere
xor eax, eax
mov edx, 0x7a
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
xor eax, eax
mov edx, 0x7a
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x14]
jmp 0x10130250
cmp dword [ebp - 0x128], 0
je 0x101304b6
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeJumpHere
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3ReleaseTempReg
mov eax, dword [ebp - 0xdc]
mov edx, dword [ebp - 0x118]
call sym._sqlite3ReleaseTempReg
cmp dword [ebp - 0x114], 0
mov eax, dword [ebp - 0xdc]
je 0x10130531
call sym._sqlite3AutoincrementEnd
xor eax, eax
xor ecx, ecx
mov edx, 0x46
mov dword [esp], eax
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeJumpHere
xor eax, eax
mov edx, 0x7a
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe4]
call sym._sqlite3VdbeAddOp2
jmp 0x1013055c
cmp byte [eax + 0x12], 0
jne 0x10131892
mov eax, dword [eax + 0x78]
mov dword [ebp - 0xf8], eax
test eax, eax
jne 0x10131892
mov eax, dword [ebp - 0xdc]
call sym._sqlite3AutoincrementEnd
jmp 0x101318aa
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xdc]
mov ecx, esi
call sym._autoIncBegin
mov edi, dword [ebp - 0xdc]
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xdc]
mov edx, dword [eax + 0x2c]
lea eax, [edx + 1]
mov dword [ebp - 0x134], eax
movsx eax, word [esi + 0x22]
mov dword [ebp - 0xf8], eax
lea eax, [edx + eax + 1]
mov dword [edi + 0x2c], eax
lea edi, [edx + 1]
cmp byte [esi + 0x2b], 1
mov dword [ebp - 0xf4], edi
jne 0x101305c0
lea edi, [edx + 2]
inc eax
mov dword [ebp - 0xf4], edi
mov edi, dword [ebp - 0xdc]
mov dword [edi + 0x2c], eax
mov eax, dword [ebp - 0x138]
and eax, 0x80
test dword [esi + 0x1c], 0x440
sete byte [ebp - 0xf0]
cmp dword [ebp - 0xec], 0
mov dword [ebp - 0x150], eax
je 0x10130742
mov eax, dword [ebp - 0xec]
mov byte [eax + 4], 1
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
xor eax, eax
cmp dword [ebp - 0x100], eax
jle 0x10130619
mov edi, dword [ebp - 0xec]
mov dword [edi + eax*8 + 0xc], 0xffffffff
inc eax
jmp 0x10130600
mov dword [ebp - 0xe4], 0xffffffff
xor ebx, ebx
cmp dword [ebp - 0x100], ebx
jle 0x1013074c
xor edi, edi
cmp dword [ebp - 0xf8], edi
jle 0x101306db
mov ecx, edi
shl ecx, 4
add ecx, dword [esi + 4]
mov eax, dword [ecx]
mov dword [ebp - 0x114], ecx
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0x10c]
mov eax, dword [eax + ebx*8 + 8]
call sym._sqlite3StrICmp
mov ecx, dword [ebp - 0x114]
test eax, eax
jne 0x101306d5
mov eax, dword [ebp - 0xec]
mov dl, byte [ebp - 0xf0]
mov dword [eax + ebx*8 + 0xc], edi
xor eax, eax
cmp ebx, edi
cmovne edx, eax
movsx eax, word [esi + 0x20]
cmp eax, edi
mov eax, dword [ebp - 0xe4]
mov byte [ebp - 0xf0], dl
cmove eax, ebx
mov dword [ebp - 0xe4], eax
test byte [ecx + 0xe], 0x60
je 0x1013073c
mov eax, dword [ebp - 0x10c]
mov dword [esp + 4], str.cannot_INSERT_into_generated_column___s_
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x10131892
inc edi
jmp 0x10130633
mov eax, dword [ebp - 0xec]
mov edi, dword [eax + ebx*8 + 8]
mov eax, edi
call sym._sqlite3IsRowid
test eax, eax
je 0x101306f9
cmp dword [ebp - 0x150], 0
je 0x1013072f
mov dword [esp + 0xc], edi
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], str.table__S_has_no_column_named__s
add eax, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xdc]
mov byte [eax + 0x11], 1
jmp 0x10131892
mov dword [ebp - 0xe4], ebx
mov byte [ebp - 0xf0], 0
inc ebx
jmp 0x10130625
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp - 0xf4]
inc eax
cmp dword [ebp - 0xe8], 0
mov dword [ebp - 0x128], eax
je 0x10130a06
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov edx, 0xa
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0xf8], eax
lea ebx, [eax + 1]
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x2c], ebx
mov eax, dword [ebp - 0xe0]
mov edi, dword [eax + 0x6c]
mov dword [esp], ecx
mov ecx, ebx
lea eax, [edi + 1]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
xor eax, eax
mov edx, dword [ebp - 0xe8]
lea ecx, [ebp - 0xbc]
mov dword [ebp - 0xb4], eax
mov dword [ebp - 0xa8], eax
xor eax, eax
cmp byte [ebp - 0xf0], 0
cmovne eax, dword [ebp - 0x128]
mov byte [ebp - 0xbc], 0xd
mov dword [ebp - 0xb8], ebx
mov dword [ebp - 0xb0], eax
movsx eax, word [esi + 0x22]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3Select
test eax, eax
jne 0x10131892
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xf0], eax
test eax, eax
jne 0x10131892
mov eax, dword [ebp - 0xb0]
mov edx, ebx
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeEndCoroutine
mov eax, dword [ebp - 0xe0]
mov edx, edi
call sym._sqlite3VdbeJumpHere
mov eax, dword [ebp - 0xe8]
cmp dword [ebp - 0x124], 0
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
je 0x10130968
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0xdc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xf0], eax
inc eax
mov dword [edi + 0x28], eax
mov eax, edi
call sym._sqlite3GetTempReg
mov edi, eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3GetTempReg
mov edx, 0x76
mov ebx, eax
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xe0]
mov edx, 0xb
call sym._sqlite3VdbeAddOp1
mov edx, 0x61
mov dword [ebp - 0xf8], eax
mov dword [esp + 4], edi
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
mov ecx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
mov dword [esp], ebx
mov ecx, dword [ebp - 0xf0]
mov edx, 0x7f
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
mov dword [esp + 4], ebx
mov edx, pe_nt_image_headers32
mov dword [esp], edi
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeGoto
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeJumpHere
mov eax, dword [ebp - 0xdc]
mov edx, edi
call sym._sqlite3ReleaseTempReg
mov eax, dword [ebp - 0xdc]
mov edx, ebx
call sym._sqlite3ReleaseTempReg
mov byte [ebp - 0x114], 1
jmp 0x10130a8b
mov eax, dword [ebp - 0xdc]
xor edi, edi
call sym._sqlite3GetVdbe
cmp byte [esi + 0x2b], 1
mov dword [ebp - 0xf8], eax
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x10c], eax
jne 0x1013099c
mov eax, dword [ebp - 0xdc]
mov edx, dword [esi + 0x34]
mov eax, dword [eax]
call sym._sqlite3GetVTable.isra.0
mov edi, eax
mov ebx, 1
cmp dword [ebp - 0x10c], ebx
jle 0x101309fa
mov eax, dword [ebp - 0xf8]
mov edx, ebx
call sym._sqlite3VdbeGetOp
mov edx, eax
mov al, byte [eax]
cmp al, 0x70
jne 0x101309ea
mov eax, dword [ebp - 0x108]
cmp eax, dword [edx + 0xc]
jne 0x101309f7
mov edx, dword [edx + 8]
cmp edx, dword [esi + 0x14]
je 0x1013085d
mov eax, dword [esi + 8]
test eax, eax
je 0x101309f7
cmp edx, dword [eax + 0x2c]
je 0x1013085d
mov eax, dword [eax + 0x14]
jmp 0x101309d8
cmp al, 0xad
jne 0x101309f7
cmp dword [edx + 0x10], edi
je 0x1013085d
inc ebx
jmp 0x101309a1
mov byte [ebp - 0x114], 0
jmp 0x10130a8b
mov eax, dword [ebp - 0xe8]
lea edx, [ebp - 0x7c]
mov ecx, 7
cmp dword [ebp - 0x104], 0
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x80], eax
je 0x10130a67
mov eax, dword [ebp - 0x104]
mov edx, dword [ebp - 0x104]
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
lea eax, [ebp - 0x80]
call sym._sqlite3ResolveExprListNames
mov dword [ebp - 0x11c], eax
test eax, eax
jne 0x10131892
mov byte [ebp - 0x114], 0
mov dword [ebp - 0xf0], 0xffffffff
jmp 0x10130a8b
xor edx, edx
mov byte [ebp - 0x114], 0
mov dword [ebp - 0x11c], edx
mov dword [ebp - 0x100], edx
mov dword [ebp - 0xf0], 0xffffffff
jmp 0x10130b42
cmp dword [ebp - 0xec], 0
jne 0x10130b4b
cmp dword [ebp - 0x100], 0
jle 0x10130b42
movsx eax, word [esi + 0x20]
mov ecx, dword [esi + 0x1c]
mov dword [ebp - 0xe4], eax
test eax, eax
js 0x10130adc
test cl, 0x60
je 0x10130adc
sub eax, 1
jb 0x10130adc
mov edx, eax
shl edx, 4
add edx, dword [esi + 4]
mov dx, word [edx + 0xe]
and edx, 0x60
cmp dx, 1
adc dword [ebp - 0xe4], 0xffffffff
jmp 0x10130abb
xor edx, edx
and cl, 0x62
movsx eax, word [esi + 0x22]
je 0x10130b06
xor ecx, ecx
cmp ecx, eax
jge 0x10130b06
mov ebx, ecx
shl ebx, 4
add ebx, dword [esi + 4]
mov bx, word [ebx + 0xe]
and ebx, 0x62
cmp bx, 1
sbb edx, 0xffffffff
inc ecx
jmp 0x10130ae9
mov edi, dword [ebp - 0x100]
sub eax, edx
cmp eax, edi
je 0x10130b80
mov dword [esp + 0x10], edi
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x110]
mov dword [esp + 4], str.table__S_has__d_columns_but__d_values_were_supplied
add eax, 8
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x10131892
cmp dword [ebp - 0xec], 0
je 0x10130b80
mov eax, dword [ebp - 0xec]
mov edi, dword [ebp - 0x100]
mov eax, dword [eax]
cmp eax, edi
je 0x10130b80
mov dword [esp + 0xc], eax
mov dword [esp + 8], edi
mov dword [esp + 4], str._d_values_for__d_columns
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x10131892
mov dword [ebp - 0x118], 0
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x24]
mov dword [ebp - 0xf8], eax
and eax, 1
je 0x10130be7
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x12], 0
jne 0x10130be7
cmp dword [eax + 0x78], 0
jne 0x10130be7
cmp byte [eax + 0x95], 0
jne 0x10130be7
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov edx, 0x47
inc eax
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xdc]
mov edi, dword [ebp - 0x118]
mov dword [eax + 0x2c], edi
mov dword [esp], edi
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
xor eax, eax
cmp byte [ebp - 0x13d], 2
mov dword [ebp - 0xf8], eax
je 0x10130ca9
lea eax, [ebp - 0xd4]
mov dword [esp + 4], 0xffffffff
mov ecx, 0x71
mov edx, esi
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xd8]
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp + 8], eax
xor eax, eax
mov dword [esp], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3OpenTableAndIndices
xor ecx, ecx
lea edx, [eax*4 + 8]
mov ebx, eax
mov eax, dword [ebp - 0xfc]
call sym._sqlite3DbMallocRawNN
mov dword [ebp - 0xf8], eax
test eax, eax
je 0x10131892
mov ecx, dword [esi + 8]
xor edx, edx
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x2c]
mov dword [ebp - 0x108], eax
inc eax
cmp edx, ebx
jge 0x10130c90
mov edi, dword [ebp - 0xf8]
mov dword [edi + edx*4], eax
movzx edi, word [ecx + 0x34]
inc edx
mov ecx, dword [ecx + 0x14]
add eax, edi
mov edi, dword [ebp - 0xdc]
mov dword [edi + 0x2c], eax
jmp 0x10130c5e
mov edi, dword [ebp - 0xdc]
xor edx, edx
test ebx, ebx
cmovs ebx, edx
mov dword [edi + 0x2c], eax
mov edi, dword [ebp - 0xf8]
mov dword [edi + ebx*4], eax
cmp dword [ebp - 0x12c], 0
jne 0x10130ce9
cmp byte [ebp - 0x114], 0
je 0x10131071
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
mov edx, 0x23
call sym._sqlite3VdbeAddOp1
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xe0]
mov eax, dword [eax + 0x6c]
jmp 0x101310cd
mov al, byte [esi + 0x2b]
cmp al, 1
jne 0x10130d03
mov eax, dword [esi]
mov dword [esp + 4], str.UPSERT_not_implemented_for_virtual_table___s_
mov dword [esp + 8], eax
jmp 0x10130efa
cmp al, 2
jne 0x10130d22
mov dword [esp + 4], str.cannot_UPSERT_a_view
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x101318aa
mov eax, dword [ebp - 0x12c]
mov edx, dword [eax]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3HasExplicitNulls
test eax, eax
jne 0x101318aa
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x158], eax
mov eax, dword [ebp - 0x110]
mov edi, dword [ebp - 0x158]
mov dword [eax + 0x34], edi
mov eax, dword [ebp - 0x12c]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x10c]
mov edi, dword [ebp - 0x110]
mov dword [eax + 0x20], edi
mov edi, dword [ebp - 0x128]
mov dword [eax + 0x24], edi
mov edi, dword [ebp - 0x158]
mov dword [eax + 0x28], edi
mov edi, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xd4]
cmp dword [edi], 0
mov dword [edi + 0x2c], eax
je 0x10131055
lea edx, [ebp - 0x98]
xor eax, eax
mov ecx, 6
mov edi, edx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x110]
mov dword [ebp - 0x9c], eax
xor eax, eax
mov dword [ebp - 0x144], eax
mov eax, dword [ebp - 0x10c]
mov dword [ebp - 0x108], eax
jmp 0x10130e1f
mov eax, dword [ebp - 0x13c]
cmp dword [eax], 1
jne 0x10130e8e
mov eax, dword [eax + 8]
cmp byte [eax], 0xa7
jne 0x10130e8e
cmp word [eax + 0x20], 0xffff
jne 0x10130e8e
mov eax, dword [ebp - 0x108]
inc dword [ebp - 0x144]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x108], eax
test eax, eax
je 0x10131055
mov eax, dword [ebp - 0x108]
mov edx, dword [eax]
test edx, edx
je 0x10131055
lea eax, [ebp - 0xa0]
call sym._sqlite3ResolveExprListNames
test eax, eax
jne 0x101318aa
mov eax, dword [ebp - 0x108]
mov edx, dword [eax + 4]
lea eax, [ebp - 0xa0]
call sym._sqlite3ResolveExprNames
test eax, eax
jne 0x101318aa
mov eax, dword [ebp - 0x110]
mov edx, dword [eax + 0x18]
mov eax, dword [ebp - 0x108]
mov eax, dword [eax]
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0x110]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x148], eax
test byte [edx + 0x1c], 0x80
je 0x10130ddc
lea ebx, [ebp - 0x80]
xor eax, eax
mov ecx, 0x1a
mov edi, ebx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x4c]
mov byte [ebp - 0x80], 0x71
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x148]
mov byte [ebp - 0x4c], 0xa7
mov ebx, dword [edx + 8]
mov dword [ebp - 0x30], eax
test ebx, ebx
jne 0x10130f0d
mov eax, dword [ebp - 0x108]
cmp dword [eax + 0x1c], 0
jne 0x10130e02
cmp dword [ebp - 0x144], 0
jne 0x10131027
cmp dword [eax + 0x10], 0
jne 0x10131027
mov byte [ebp - 0xcc], 0
lea eax, [ebp - 0xcc]
mov dword [esp + 4], str._sON_CONFLICT_clause_does_not_match_any_PRIMARY_KEY_or_UNIQUE_constraint
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x101318aa
cmp byte [ebx + 0x36], 0
je 0x1013101f
mov edi, dword [ebp - 0x13c]
movzx eax, word [ebx + 0x32]
cmp dword [edi], eax
jne 0x1013101f
mov ecx, dword [ebx + 0x24]
test ecx, ecx
jne 0x10130f41
movzx eax, word [ebx + 0x32]
xor edi, edi
mov dword [ebp - 0x14c], eax
jmp 0x10130fdf
mov eax, dword [ebp - 0x108]
mov edx, dword [eax + 4]
test edx, edx
je 0x1013101f
mov eax, dword [ebp - 0x148]
mov dword [esp], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3ExprCompare
test eax, eax
jne 0x1013101f
jmp 0x10130f30
mov eax, dword [ebx + 0x20]
mov eax, dword [eax + edi*4]
mov dword [ebp - 0x78], eax
mov eax, dword [ebx + 4]
mov ax, word [eax + edi*2]
cmp ax, 0xfffe
jne 0x10130fe9
imul eax, edi, 0x14
add eax, dword [ebx + 0x28]
mov ecx, dword [eax + 8]
cmp byte [ecx], 0x71
je 0x10130f9a
mov dword [ebp - 0x74], ecx
lea ecx, [ebp - 0x80]
xor eax, eax
mov dword [ebp - 0x138], eax
imul eax, dword [ebp - 0x138], 0x14
mov edx, dword [ebp - 0x13c]
mov edx, dword [edx + eax + 8]
mov eax, dword [ebp - 0x148]
mov dword [esp], eax
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x15c], ecx
call sym._sqlite3ExprCompare
dec eax
jg 0x10130ff5
mov ecx, dword [ebp - 0x14c]
cmp dword [ebp - 0x138], ecx
jge 0x1013101f
inc edi
cmp dword [ebp - 0x14c], edi
jg 0x10130f70
jmp 0x10131011
lea edx, [ebp - 0x4c]
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x74], edx
jmp 0x10130f97
inc dword [ebp - 0x138]
mov ecx, dword [ebp - 0x138]
cmp dword [ebp - 0x14c], ecx
mov ecx, dword [ebp - 0x15c]
jg 0x10130fa2
jmp 0x1013101f
mov eax, dword [ebp - 0x108]
mov dword [eax + 0x1c], ebx
jmp 0x10130e02
mov ebx, dword [ebx + 0x14]
jmp 0x10130eb6
mov eax, dword [ebp - 0x144]
mov dword [esp + 8], 0x101fabe1
mov dword [esp], 0x10
inc eax
mov dword [esp + 0xc], eax
lea eax, [ebp - 0xcc]
mov dword [esp + 4], eax
call sym._sqlite3_snprintf
jmp 0x10130ee8
mov eax, dword [ebp - 0x10c]
mov eax, dword [eax + 0x10]
mov dword [ebp - 0x10c], eax
test eax, eax
jne 0x10130d64
jmp 0x10130cb2
cmp dword [ebp - 0xe8], 0
je 0x101310d5
mov ecx, dword [ebp - 0xb8]
mov eax, dword [ebp - 0xe0]
mov edx, 0xb
call sym._sqlite3VdbeAddOp1
cmp dword [ebp - 0xe4], 0
mov dword [ebp - 0x108], eax
js 0x101310c7
mov eax, dword [ebp - 0x11c]
mov edi, dword [ebp - 0xe4]
mov edx, 0x50
lea ecx, [eax + edi]
mov eax, dword [ebp - 0xf4]
mov dword [esp], eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0x138], eax
jmp 0x101310e3
xor ecx, ecx
mov dword [ebp - 0x138], ecx
mov dword [ebp - 0x108], ecx
xor edx, edx
mov ebx, dword [ebp - 0x128]
xor edi, edi
mov dword [ebp - 0x13c], edx
mov ecx, dword [ebp - 0x154]
movsx edx, word [esi + 0x22]
and ecx, 1
cmp edx, edi
jle 0x1013123f
movsx eax, word [esi + 0x20]
cmp eax, edi
je 0x10131145
mov eax, edi
shl eax, 4
add eax, dword [esi + 4]
mov dx, word [eax + 0xe]
mov dword [ebp - 0x10c], eax
test dl, 0x62
je 0x10131167
inc dword [ebp - 0x13c]
test dl, 0x20
je 0x10131138
dec ebx
jmp 0x10131238
and dl, 0x40
je 0x1013115c
test ecx, ecx
je 0x10131238
mov eax, dword [ebp - 0xe0]
mov ecx, ebx
mov edx, 0x4c
call sym._sqlite3VdbeAddOp1
jmp 0x10131238
cmp dword [ebp - 0xec], 0
jne 0x10131170
jmp 0x101311a0
cmp dword [ebp - 0xec], 0
je 0x1013118d
mov ecx, dword [ebp - 0xec]
mov edx, dword [ecx]
xor ecx, ecx
cmp edx, ecx
jle 0x101311a0
mov eax, dword [ebp - 0xec]
cmp dword [eax + ecx*8 + 0xc], edi
je 0x101311c2
inc ecx
jmp 0x1013117a
mov eax, dword [ebp - 0x13c]
mov ecx, edi
sub ecx, eax
cmp dword [ebp - 0x100], 0
jne 0x101311c2
mov eax, dword [ebp - 0x10c]
mov dx, word [eax + 0xc]
mov eax, esi
call sym._sqlite3ColumnExpr.isra.0
mov ecx, ebx
mov edx, eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3ExprCodeFactorable
jmp 0x10131238
cmp byte [ebp - 0x114], 0
je 0x101311ea
mov dword [esp + 4], ebx
mov edx, 0x5e
mov dword [esp], ecx
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
jmp 0x10131238
cmp dword [ebp - 0xe8], 0
je 0x1013121e
mov edx, dword [ebp - 0x128]
cmp dword [ebp - 0x11c], edx
je 0x10131238
mov eax, dword [ebp - 0x11c]
mov dword [esp], ebx
mov edx, 0x51
add ecx, eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
jmp 0x10131238
imul eax, ecx, 0x14
mov edx, dword [ebp - 0x104]
mov ecx, ebx
mov edx, dword [edx + eax + 8]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3ExprCode
inc edi
inc ebx
jmp 0x101310f3
mov eax, dword [ebp - 0xdc]
mov eax, dword [eax + 0x38]
lea edi, [eax - 1]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xdc]
mov dword [eax + 0x38], edi
test ecx, ecx
je 0x101313e5
inc edx
call sym._sqlite3GetTempRange
cmp dword [ebp - 0xe4], 0
mov ebx, eax
jns 0x1013128e
mov dword [esp], eax
mov eax, dword [ebp - 0xe0]
or ecx, 0xffffffff
mov edx, 0x47
call sym._sqlite3VdbeAddOp2
jmp 0x1013132b
cmp byte [ebp - 0x114], 0
je 0x101312bc
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe4]
mov edx, 0x5e
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
jmp 0x101312da
imul eax, dword [ebp - 0xe4], 0x14
mov edx, dword [ebp - 0x104]
mov ecx, ebx
mov edx, dword [edx + eax + 8]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3ExprCode
mov eax, dword [ebp - 0xe0]
mov ecx, ebx
mov edx, 0x33
call sym._sqlite3VdbeAddOp1
or ecx, 0xffffffff
mov edx, 0x47
mov dword [ebp - 0x100], eax
mov dword [esp], ebx
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeJumpHere
mov eax, dword [ebp - 0xe0]
mov ecx, ebx
mov edx, 0xc
call sym._sqlite3VdbeAddOp1
lea eax, [ebx + 1]
mov edx, 0x50
mov dword [ebp - 0x100], eax
movsx eax, word [esi + 0x24]
dec eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
mov ecx, dword [ebp - 0x128]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
test byte [esi + 0x1c], 0x60
je 0x10131375
mov edx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xdc]
mov ecx, esi
call sym._sqlite3ComputeGeneratedColumns
cmp byte [ebp - 0x13d], 2
je 0x10131391
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xe0]
mov edx, esi
call sym._sqlite3TableAffinity
mov dword [esp + 0x14], edi
mov eax, dword [ebp - 0x120]
mov ecx, 0x7f
mov dword [esp + 0x10], eax
movsx edx, word [esi + 0x22]
mov eax, ebx
mov dword [esp + 8], esi
sub eax, edx
mov dword [esp + 4], 1
dec eax
mov dword [esp + 0xc], eax
xor eax, eax
mov dword [esp], eax
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3CodeRowTrigger
movsx ecx, word [esi + 0x22]
mov eax, dword [ebp - 0xdc]
mov edx, ebx
inc ecx
call sym._sqlite3ReleaseTempRange
cmp byte [ebp - 0x13d], 2
je 0x1013175c
cmp byte [esi + 0x2b], 1
jne 0x10131413
mov eax, dword [ebp - 0x134]
xor ecx, ecx
mov edx, 0x4b
mov dword [esp], eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
cmp dword [ebp - 0xe4], 0
js 0x10131556
cmp byte [ebp - 0x114], 0
je 0x10131454
mov eax, dword [ebp - 0xf4]
mov edx, 0x5e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
jmp 0x101314bd
cmp dword [ebp - 0xe8], 0
jne 0x101314bd
imul eax, dword [ebp - 0xe4], 0x14
mov ebx, dword [ebp - 0x104]
mov edx, dword [ebx + eax + 8]
cmp byte [edx], 0x79
jne 0x101314ac
cmp byte [esi + 0x2b], 1
je 0x101314ac
mov eax, dword [ebp - 0x130]
mov edx, 0x7f
mov ebx, 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf4]
mov dword [esp], eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
jmp 0x10131586
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3ExprCode
cmp byte [esi + 0x2b], 1
je 0x10131513
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe0]
mov edx, 0x33
call sym._sqlite3VdbeAddOp1
mov edx, 0x7f
mov ebx, eax
mov eax, dword [ebp - 0x130]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf4]
mov dword [esp], eax
mov ecx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0xe0]
mov edx, ebx
call sym._sqlite3VdbeJumpHere
jmp 0x1013153e
mov eax, dword [ebp - 0xe0]
mov edx, 0x32
mov eax, dword [eax + 0x6c]
mov dword [ebp - 0x100], eax
add eax, 2
mov dword [esp], eax
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xe0]
mov edx, 0xc
call sym._sqlite3VdbeAddOp1
jmp 0x10131584
cmp byte [esi + 0x2b], 1
je 0x10131569
cmp dword [ebp - 0x150], 0
je 0x10131479
mov eax, dword [ebp - 0xf4]
xor ecx, ecx
mov edx, 0x4b
mov dword [esp], eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
xor ebx, ebx
cmp dword [ebp - 0x130], 0
jle 0x101315b1
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xf4]
mov edx, 0x9f
mov eax, dword [eax + 8]
mov dword [esp], ecx
mov ecx, dword [ebp - 0x130]
call sym._sqlite3VdbeAddOp2
test byte [esi + 0x1c], 0x60
je 0x101315ca
mov edx, dword [ebp - 0x128]
mov eax, dword [ebp - 0xdc]
mov ecx, esi
call sym._sqlite3ComputeGeneratedColumns
cmp byte [esi + 0x2b], 1
jne 0x10131656
mov edx, dword [esi + 0x34]
mov eax, dword [ebp - 0xfc]
call sym._sqlite3GetVTable.isra.0
mov edx, esi
mov ebx, eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3VtabMakeWritable
mov dword [esp + 8], ebx
mov edx, 7
mov ecx, 1
mov dword [esp + 0xc], 0xfffffff5
mov eax, dword [ebp - 0x134]
mov dword [esp + 4], eax
movsx eax, word [esi + 0x22]
add eax, 2
mov dword [esp], eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp4
cmp dword [ebp - 0x120], 0xb
mov edx, 2
je 0x1013163b
movzx edx, word [ebp - 0x120]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeChangeP5
mov eax, dword [ebp - 0xdc]
call sym._sqlite3MayAbort
jmp 0x1013175c
xor eax, eax
mov edx, esi
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0xd4]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xd8]
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0x12c]
mov dword [esp + 0x18], edi
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0x20], eax
lea eax, [ebp - 0x80]
mov dword [esp + 0x1c], eax
movzx eax, byte [ebp - 0x120]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xe4]
not eax
shr eax, 0x1f
mov dword [esp + 0x10], eax
xor eax, eax
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x134]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x100]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x10c]
mov dword [esp], eax
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3GenerateConstraintChecks
xor eax, eax
xor ecx, ecx
mov edx, esi
mov dword [esp + 8], eax
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x134]
mov dword [esp], eax
mov eax, dword [ebp - 0xdc]
call sym._sqlite3FkCheck
cmp dword [ebp - 0x80], 0
mov eax, 1
je 0x1013171e
mov eax, dword [ebp - 0xe0]
cmp dword [eax + 0xe0], 0
sete al
movzx eax, al
mov dword [esp + 0x10], ebx
xor ebx, ebx
mov edx, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0xc], ebx
mov eax, dword [ebp - 0xf8]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x134]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x100]
mov dword [esp], eax
mov ecx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3CompleteInsertion
cmp dword [ebp - 0x118], 0
je 0x10131782
mov dword [esp], 1
mov ecx, dword [ebp - 0x118]
mov edx, 0x56
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
cmp dword [ebp - 0x124], 0
je 0x101317d1
mov dword [esp + 0x14], edi
mov eax, dword [ebp - 0x120]
xor ecx, ecx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xf4]
movsx edx, word [esi + 0x22]
mov dword [esp], ecx
mov ecx, 0x7f
dec eax
mov dword [esp + 8], esi
sub eax, edx
mov dword [esp + 4], 2
mov dword [esp + 0xc], eax
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xdc]
call sym._sqlite3CodeRowTrigger
mov eax, dword [ebp - 0xe0]
mov edx, edi
call sym._sqlite3VdbeResolveLabel
cmp byte [ebp - 0x114], 0
je 0x1013182f
mov eax, dword [ebp - 0x138]
mov edx, 0x26
mov dword [esp], eax
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeAddOp2
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeJumpHere
mov ecx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xe0]
mov edx, 0x7a
call sym._sqlite3VdbeAddOp1
jmp 0x1013185a
cmp dword [ebp - 0xe8], 0
je 0x1013185a
mov edx, dword [ebp - 0x138]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeGoto
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3VdbeJumpHere
mov eax, dword [ebp - 0xdc]
cmp byte [eax + 0x12], 0
jne 0x10131871
cmp dword [eax + 0x78], 0
jne 0x10131871
call sym._sqlite3AutoincrementEnd
cmp dword [ebp - 0x118], 0
je 0x101318aa
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0xe0]
mov ecx, str.rows_inserted
call sym._sqlite3CodeChangeCount
jmp 0x101318aa
xor edx, edx
mov dword [ebp - 0xf8], edx
jmp 0x101318aa
xor eax, eax
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x104], eax
mov edx, dword [ebp - 0x110]
mov eax, dword [ebp - 0xfc]
call sym._sqlite3SrcListDelete
mov eax, dword [ebp - 0x104]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xfc]
mov dword [esp], eax
call sym._sqlite3ExprListDelete
cmp dword [ebp - 0x12c], 0
je 0x101318ed
mov edx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xfc]
call sym._upsertDelete
mov eax, dword [ebp - 0xe8]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xfc]
mov dword [esp], eax
call sym._sqlite3SelectDelete
mov eax, dword [ebp - 0xfc]
mov edx, dword [ebp - 0xec]
call sym._sqlite3IdListDelete
mov eax, dword [ebp - 0xf8]
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp + 8], eax
add esp, 0x18c
pop ebx
pop esi
pop edi
pop ebp
jmp sym._sqlite3DbFree
mov eax, dword [0x2c]
ud2