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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x16c
mov dword [ebp - 0xcc], eax
mov eax, dword [eax]
mov dword [ebp - 0xfc], edx
mov dword [ebp - 0xd8], ecx
mov dword [ebp - 0xc4], 0
mov dword [ebp - 0xc0], 0
mov dword [ebp - 0xe0], eax
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x24], 0
jne 0x61e66d65
mov eax, dword [ebp - 0xe0]
cmp byte [eax + 0x49], 0
jne 0x61e66d65
test ecx, ecx
mov dword [ebp - 0xb4], 0
mov dword [ebp - 0xec], 0
je 0x61e66238
test byte [ecx + 9], 2
je 0x61e66238
cmp dword [ecx + 0x34], 0
jne 0x61e66238
mov eax, dword [ecx]
mov edx, ecx
mov dword [ecx], 0
mov dword [ebp - 0xec], eax
mov eax, dword [ebp - 0xe0]
call sym._sqlite3SelectDelete
mov dword [ebp - 0xd8], 0
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3SrcListLookup
test eax, eax
mov esi, eax
je 0x61e66de1
mov edx, dword [eax + 0x48]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3SchemaToIndex
mov edi, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], eax
shl eax, 4
mov edx, 0x12
add eax, dword [edi + 0x10]
mov eax, dword [eax]
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [esi]
call sym._sqlite3AuthCheck
test eax, eax
mov edi, eax
mov dword [ebp - 0xd4], 0
jne 0x61e66deb
mov eax, dword [esi + 0x24]
mov ecx, 0x74
mov edx, esi
mov dword [esp], 0
mov dword [ebp - 0x120], eax
lea eax, [ebp - 0xbc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3TriggersExist
mov dword [ebp - 0x104], eax
mov eax, dword [esi + 0xc]
mov edx, esi
mov dword [ebp - 0x128], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ViewGetColumnNames
test eax, eax
mov ebx, eax
mov dword [ebp - 0xd4], edi
jne 0x61e66deb
mov ecx, dword [ebp - 0xbc]
mov eax, dword [ebp - 0xcc]
mov edx, esi
call sym._sqlite3IsReadOnly
test eax, eax
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xd4], ebx
jne 0x61e66deb
mov eax, dword [ebp - 0xcc]
call sym._sqlite3GetVdbe
test eax, eax
mov dword [ebp - 0xd0], eax
je 0x61e66deb
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x12], 0
jne 0x61e66357
mov eax, dword [ebp - 0xd0]
or byte [eax + 0x94], 0x20
cmp dword [ebp - 0xd8], 0
mov ecx, dword [ebp - 0xe8]
setne dl
cmp dword [ebp - 0x104], 0
setne al
or edx, eax
mov eax, dword [ebp - 0xcc]
movzx edx, dl
call sym._sqlite3BeginWriteOperation
cmp dword [ebp + 8], 0
jne 0x61e66e5e
cmp dword [ebp - 0xd8], 0
je 0x61e66e5e
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x104], 0
jne 0x61e66e5e
mov eax, dword [ebp - 0xd8]
cmp dword [eax + 0x40], 0
jne 0x61e66e5e
mov eax, dword [ebp - 0xcc]
mov edx, esi
mov eax, dword [eax]
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3TriggerList
test eax, eax
jne 0x61e66e5e
cmp dword [esi + 0x38], 0
jne 0x61e66e5e
mov eax, dword [ebp + 0xc]
cmp eax, 0xb
mov dword [ebp - 0xf0], eax
jne 0x61e66426
cmp word [esi + 0x28], 0
mov dword [ebp - 0xf0], 2
js 0x61e66426
movzx eax, byte [esi + 0x30]
mov dword [ebp - 0xf0], eax
cmp eax, 0xb
mov eax, 2
cmovne eax, dword [ebp - 0xf0]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xd8]
mov ecx, dword [eax + 0x20]
cmp dword [ecx], 1
jne 0x61e66e5e
cmp dword [ecx + 0x1c], 0
jne 0x61e66e5e
cmp dword [eax + 0x24], 0
jne 0x61e66e5e
cmp dword [eax + 0x30], 0
jne 0x61e66e5e
cmp dword [eax + 0x28], 0
jne 0x61e66e5e
cmp dword [eax + 0x3c], 0
jne 0x61e66e5e
cmp dword [eax + 0x34], 0
jne 0x61e66e5e
test byte [eax + 8], 1
jne 0x61e66e5e
mov eax, dword [eax]
cmp dword [eax], 1
jne 0x61e66e5e
mov eax, dword [eax + 4]
cmp byte [eax], 0xa8
jne 0x61e66e5e
mov eax, dword [ebp - 0xcc]
add ecx, 8
xor edx, edx
call sym._sqlite3LocateTableItem
test eax, eax
mov edi, eax
je 0x61e66e5e
cmp esi, eax
je 0x61e66e5e
mov edx, dword [esi + 0x24]
mov eax, dword [eax + 0x24]
shr edx, 5
shr eax, 5
xor edx, 1
xor eax, 1
and edx, 1
and eax, 1
cmp dl, al
jne 0x61e66e5e
cmp dword [edi + 0x38], 0
jne 0x61e66e5e
cmp dword [edi + 0xc], 0
jne 0x61e66e5e
movsx eax, word [esi + 0x2a]
cmp ax, word [edi + 0x2a]
jne 0x61e66e5e
mov ebx, dword [edi + 0x28]
cmp word [esi + 0x28], bx
jne 0x61e66e5e
xor ebx, ebx
mov dword [ebp - 0xdc], eax
cmp ebx, dword [ebp - 0xdc]
jge 0x61e665bf
mov ecx, dword [esi + 4]
mov eax, ebx
shl eax, 4
add ecx, eax
add eax, dword [edi + 4]
mov edx, eax
mov al, byte [eax + 0xd]
cmp byte [ecx + 0xd], al
jne 0x61e66e5e
mov eax, dword [edx + 8]
mov dword [ebp - 0xe4], edx
mov dword [ebp - 0xd4], ecx
mov dword [esp + 4], eax
mov eax, dword [ecx + 8]
mov dword [esp], eax
call sym.sqlite3.dll_sqlite3_stricmp
test eax, eax
jne 0x61e66e5e
mov ecx, dword [ebp - 0xd4]
mov edx, dword [ebp - 0xe4]
cmp byte [ecx + 0xc], 0
je 0x61e66577
cmp byte [edx + 0xc], 0
je 0x61e66e5e
test ebx, ebx
jle 0x61e665b9
mov ecx, dword [ecx + 4]
mov eax, dword [edx + 4]
test ecx, ecx
sete dl
test eax, eax
sete byte [ebp - 0xd4]
cmp dl, byte [ebp - 0xd4]
jne 0x61e66e5e
test ecx, ecx
je 0x61e665b9
mov eax, dword [eax + 8]
mov dword [esp + 4], eax
mov eax, dword [ecx + 8]
mov dword [esp], eax
call sym._strcmp
test eax, eax
jne 0x61e66e5e
inc ebx
jmp 0x61e6650e
mov ebx, dword [esi + 8]
mov dword [ebp - 0xf8], 0
test ebx, ebx
je 0x61e66613
cmp byte [ebx + 0x36], 0
mov eax, 1
mov ecx, dword [edi + 8]
cmove eax, dword [ebp - 0xf8]
mov dword [ebp - 0xf8], eax
test ecx, ecx
je 0x61e66e5e
mov edx, ecx
mov eax, ebx
mov dword [ebp - 0xd4], ecx
call sym._xferCompatibleIndex
test eax, eax
jne 0x61e66e56
mov ecx, dword [ebp - 0xd4]
mov ecx, dword [ecx + 0x14]
jmp 0x61e665e9
mov edx, dword [esi + 0x18]
test edx, edx
jne 0x61e6662a
mov eax, dword [ebp - 0x100]
mov eax, dword [eax + 0x1c]
test ah, 0x40
jne 0x61e6663e
jmp 0x61e66648
mov eax, dword [edi + 0x18]
or ecx, 0xffffffff
call sym._sqlite3ExprListCompare
test eax, eax
je 0x61e6661a
jmp 0x61e66e5e
cmp dword [esi + 0x10], 0
jne 0x61e66e5e
test al, 0x80
jne 0x61e66e5e
mov edx, dword [edi + 0x48]
mov eax, dword [ebp - 0x100]
call sym._sqlite3SchemaToIndex
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3GetVdbe
mov edx, dword [ebp - 0x110]
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3CodeVerifySchema
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xcc]
mov ecx, esi
mov edx, dword [ebp - 0xe8]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xdc], eax
inc eax
mov dword [ebp - 0xe4], eax
mov eax, dword [ebp - 0xdc]
add eax, 2
mov dword [ebx + 0x28], eax
mov eax, ebx
call sym._autoIncBegin
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3GetTempReg
mov dword [ebp - 0x108], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3GetTempReg
mov ecx, dword [ebp - 0xe8]
mov dword [ebp - 0xf4], eax
mov edx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xcc]
mov dword [esp + 4], 0x6e
mov dword [esp], esi
call sym._sqlite3OpenTable
mov eax, dword [ebp - 0x100]
mov dword [ebp - 0x114], 0
test byte [eax + 0x18], 4
jne 0x61e6678b
cmp word [esi + 0x28], 0
jns 0x61e6672a
cmp dword [esi + 8], 0
jne 0x61e66749
cmp dword [ebp - 0xf8], 0
jne 0x61e66749
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x114], 0
dec eax
cmp eax, 1
jbe 0x61e6678b
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, 0x24
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
mov ebx, eax
mov eax, dword [ebp - 0xd4]
mov edx, 0xb
call sym._sqlite3VdbeAddOp0
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xd4]
mov edx, ebx
call sym._sqlite3VdbeJumpHere
test byte [edi + 0x24], 0x20
jne 0x61e6699d
mov ecx, dword [ebp - 0x110]
mov edx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xcc]
mov dword [esp + 4], 0x6d
mov dword [esp], edi
call sym._sqlite3OpenTable
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd4]
mov edx, 0x24
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
cmp word [esi + 0x28], 0
mov dword [ebp - 0x118], eax
mov eax, dword [ebp - 0xf4]
js 0x61e66880
mov dword [esp], eax
mov ecx, dword [ebp - 0xdc]
mov edx, 0x81
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp2
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0xf4]
mov edx, 0x1f
mov ecx, dword [ebp - 0xe4]
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp - 0xf0]
mov ebx, eax
mov eax, dword [ebp - 0xcc]
mov ecx, esi
call sym._sqlite3RowidConstraint
mov eax, dword [ebp - 0xd4]
mov edx, ebx
call sym._sqlite3VdbeJumpHere
cmp dword [ebp - 0x11c], 0
jle 0x61e668b2
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xf4]
mov edx, 0x98
mov ecx, dword [ebp - 0x11c]
mov eax, dword [eax + 8]
mov dword [esp], ebx
call sym._sqlite3VdbeAddOp2
jmp 0x61e668b2
cmp dword [esi + 8], 0
mov dword [esp], eax
jne 0x61e66896
mov ecx, dword [ebp - 0xe4]
mov edx, 0x79
jmp 0x61e668a1
mov ecx, dword [ebp - 0xdc]
mov edx, 0x81
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp2
mov dword [ebp - 0xf8], eax
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xdc]
mov edx, pe_nt_image_headers32
mov dword [esp + 4], 1
mov bl, 0x29
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0x100]
test byte [eax + 0x18], 4
je 0x61e668ff
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, 0x83
mov bl, 0x39
call sym._sqlite3VdbeAddOp1
mov eax, dword [ebp - 0xf4]
mov ecx, dword [ebp - 0xe4]
mov edx, 0x7a
mov dword [esp + 0xc], 0xfffffffa
mov dword [esp + 8], esi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x108]
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp4
mov eax, dword [ebp - 0xd4]
movzx edx, bl
call sym._sqlite3VdbeChangeP5
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xdc]
mov edx, 5
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd4]
mov edx, 0x75
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, 0x75
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
jmp 0x61e669e9
mov eax, dword [esi]
mov ecx, dword [esi + 0x1c]
mov edx, dword [ebp - 0xe8]
mov dword [esp], 1
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3TableLock
mov eax, dword [edi]
mov ecx, dword [edi + 0x1c]
mov edx, dword [ebp - 0x110]
mov dword [esp], 0
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3TableLock
mov dword [ebp - 0x118], 0
mov eax, dword [esi + 8]
mov dword [ebp - 0xf8], eax
cmp dword [ebp - 0xf8], 0
je 0x61e66c41
mov eax, dword [edi + 8]
mov dword [ebp - 0xf0], eax
cmp dword [ebp - 0xf0], 0
je 0x61e680d2
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xf8]
call sym._xferCompatibleIndex
test eax, eax
jne 0x61e66a35
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0x14]
jmp 0x61e66a02
mov eax, dword [ebp - 0x110]
mov ecx, dword [ebp - 0xdc]
mov edx, 0x6d
xor ebx, ebx
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf0]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp - 0xf0]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3VdbeSetP4KeyInfo
mov eax, dword [ebp - 0xe8]
mov ecx, dword [ebp - 0xe4]
mov edx, 0x6e
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x2c]
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3VdbeSetP4KeyInfo
mov eax, dword [ebp - 0xd4]
mov edx, 1
call sym._sqlite3VdbeChangeP5
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd4]
mov edx, 0x24
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
mov dword [ebp - 0x11c], eax
mov eax, dword [ebp - 0x108]
mov edx, pe_nt_image_headers32
mov ecx, dword [ebp - 0xdc]
mov dword [esp + 4], 1
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0x100]
test byte [eax + 0x18], 4
je 0x61e66b76
mov eax, dword [ebp - 0xf0]
xor ebx, ebx
movzx edx, word [eax + 0x34]
cmp ebx, edx
jge 0x61e66b53
mov eax, dword [ebp - 0xf0]
mov dword [ebp - 0x124], edx
mov eax, dword [eax + 0x20]
mov eax, dword [eax + ebx*4]
mov dword [esp], str.BINARY
mov dword [esp + 4], eax
call sym.sqlite3.dll_sqlite3_stricmp
test eax, eax
mov edx, dword [ebp - 0x124]
je 0x61e66b5b
cmp ebx, edx
je 0x61e66b5e
xor ebx, ebx
jmp 0x61e66b76
inc ebx
jmp 0x61e66b23
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, 0x83
mov bl, 0x10
call sym._sqlite3VdbeAddOp1
test byte [edi + 0x24], 0x20
je 0x61e66b98
mov eax, dword [ebp - 0xf8]
mov dl, bl
or edx, 1
mov al, byte [eax + 0x38]
mov byte [ebp - 0xf0], al
and eax, 3
cmp al, 2
cmove ebx, edx
mov eax, dword [ebp - 0x108]
mov ecx, dword [ebp - 0xe4]
mov edx, 0x85
or ebx, 8
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0xd4]
movzx edx, bl
call sym._sqlite3VdbeChangeP5
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xdc]
mov edx, 5
inc eax
mov dword [esp], eax
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeAddOp2
mov edx, dword [ebp - 0x11c]
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeJumpHere
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd4]
mov edx, 0x75
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, 0x75
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0xf8]
mov eax, dword [eax + 0x14]
jmp 0x61e669ec
cmp dword [ebp - 0x118], 0
je 0x61e66c5b
mov edx, dword [ebp - 0x118]
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeJumpHere
mov edx, dword [ebp - 0xf4]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ReleaseTempReg
mov edx, dword [ebp - 0x108]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ReleaseTempReg
cmp dword [ebp - 0x114], 0
je 0x61e66cdd
mov eax, dword [ebp - 0xcc]
call sym._sqlite3AutoincrementEnd
mov eax, dword [ebp - 0xd4]
xor ecx, ecx
mov dword [esp], 0
mov edx, 0x45
call sym._sqlite3VdbeAddOp2
mov edx, dword [ebp - 0x114]
mov eax, dword [ebp - 0xd4]
call sym._sqlite3VdbeJumpHere
mov ecx, dword [ebp - 0xe4]
mov eax, dword [ebp - 0xd4]
mov edx, 0x75
mov dword [esp], 0
call sym._sqlite3VdbeAddOp2
jmp 0x61e66e5e
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0x100], 0
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x12], 0
jne 0x61e66d08
cmp dword [eax + 0x78], 0
jne 0x61e66d08
call sym._sqlite3AutoincrementEnd
cmp dword [ebp - 0x100], 0
je 0x61e66deb
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xd0]
mov edx, 0x51
mov dword [esp], 1
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0xd0]
mov edx, 1
call sym._sqlite3VdbeSetNumCols
mov eax, dword [ebp - 0xd0]
mov dword [esp + 4], 0
xor ecx, ecx
mov dword [esp], str.rows_inserted
xor edx, edx
call sym._sqlite3VdbeSetColName
jmp 0x61e66deb
mov dword [ebp - 0xd4], 0
mov dword [ebp - 0xec], 0
jmp 0x61e66deb
inc ebx
cmp ebx, dword [ebp - 0xf0]
mov eax, dword [ebp + 8]
mov edi, dword [eax]
jl 0x61e66f3a
mov eax, dword [ebp - 0xf8]
mov dword [ebp - 0xd4], ecx
mov ebx, dword [edi + eax]
mov eax, ebx
call sym._sqlite3IsRowid
test eax, eax
jne 0x61e66f92
mov eax, dword [ebp - 0xfc]
mov dword [esp + 0x10], ebx
mov dword [esp + 0xc], 0
mov dword [esp + 4], 0x61e9bc80
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xcc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
mov eax, dword [ebp - 0xcc]
mov byte [eax + 0x11], 1
mov dword [ebp - 0xd4], 0
mov edx, dword [ebp - 0xfc]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3SrcListDelete
mov edx, dword [ebp - 0xec]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3ExprListDelete
mov edx, dword [ebp + 0x10]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3UpsertDelete
mov edx, dword [ebp - 0xd8]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3SelectDelete
mov edx, dword [ebp + 8]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3IdListDelete
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3DbFree
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret
mov ebx, dword [ebx + 0x14]
jmp 0x61e665cc
mov edx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xcc]
mov ecx, esi
call sym._autoIncBegin
mov dword [ebp - 0x114], eax
mov eax, dword [ebp - 0xcc]
cmp dword [esi + 0x38], 0
mov ebx, dword [ebp - 0xcc]
mov edx, dword [eax + 0x2c]
lea eax, [edx + 1]
mov dword [ebp - 0x108], eax
movsx eax, word [esi + 0x2a]
mov dword [ebp - 0xf0], eax
lea eax, [edx + eax + 1]
mov dword [ebx + 0x2c], eax
je 0x61e68022
lea edi, [edx + 2]
inc eax
mov dword [ebp - 0xdc], edi
mov edi, dword [ebp - 0xcc]
mov dword [edi + 0x2c], eax
mov eax, dword [ebp - 0x120]
and eax, 0x20
mov dword [ebp - 0x138], eax
mov eax, dword [esi + 0x24]
shr eax, 7
xor eax, 1
and eax, 1
cmp dword [ebp + 8], 0
mov byte [ebp - 0xd4], al
je 0x61e66fb8
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
mov dword [ebp - 0xf4], eax
xor eax, eax
cmp eax, dword [ebp - 0xf4]
jge 0x61e66f0e
mov edi, dword [ebp + 8]
mov edx, dword [edi]
mov dword [edx + eax*8 + 4], 0xffffffff
inc eax
jmp 0x61e66ef6
mov dword [ebp - 0xe4], 0xffffffff
xor ecx, ecx
cmp ecx, dword [ebp - 0xf4]
jge 0x61e66fc2
lea eax, [ecx*8]
xor ebx, ebx
mov dword [ebp - 0xf8], eax
jmp 0x61e66d7c
mov eax, ebx
add edi, dword [ebp - 0xf8]
mov dword [ebp - 0x100], ecx
shl eax, 4
add eax, dword [esi + 4]
mov edx, dword [eax]
mov eax, dword [edi]
call sym._sqlite3StrICmp
test eax, eax
mov ecx, dword [ebp - 0x100]
jne 0x61e66d7b
mov dword [edi + 4], ebx
mov edi, dword [ebp - 0xd4]
cmp ecx, ebx
cmovne edi, eax
mov eax, edi
mov byte [ebp - 0xd4], al
movsx eax, word [esi + 0x28]
cmp ebx, eax
mov eax, dword [ebp - 0xe4]
cmove eax, ecx
mov dword [ebp - 0xe4], eax
jmp 0x61e66fb2
cmp dword [ebp - 0x138], 0
mov ecx, dword [ebp - 0xd4]
jne 0x61e66dab
mov dword [ebp - 0xe4], ecx
mov byte [ebp - 0xd4], 0
inc ecx
jmp 0x61e66f1a
mov dword [ebp - 0xe4], 0xffffffff
mov eax, dword [ebp - 0xdc]
inc eax
cmp dword [ebp - 0xd8], 0
mov dword [ebp - 0x12c], eax
je 0x61e6729d
mov eax, dword [ebp - 0xcc]
mov edx, 0xd
mov eax, dword [eax + 0x2c]
lea ebx, [eax + 1]
mov dword [ebp - 0xf0], eax
mov eax, dword [ebp - 0xcc]
mov ecx, ebx
mov dword [eax + 0x2c], ebx
mov eax, dword [ebp - 0xd0]
mov edi, dword [eax + 0x88]
mov dword [esp], 0
lea eax, [edi + 1]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
cmp byte [ebp - 0xd4], 0
mov eax, dword [ebp - 0x10c]
lea ecx, [ebp - 0xb8]
cmovne eax, dword [ebp - 0x12c]
mov edx, dword [ebp - 0xd8]
mov byte [ebp - 0xb8], 0xd
mov dword [ebp - 0xb4], ebx
mov dword [ebp - 0xa8], 0
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0xb0], eax
movsx eax, word [esi + 0x2a]
mov dword [ebp - 0xac], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3Select
test eax, eax
mov dword [ebp - 0xd4], 0
jne 0x61e66deb
mov ecx, dword [ebp - 0xe0]
mov dword [ebp - 0xd4], eax
cmp byte [ecx + 0x49], 0
jne 0x61e66deb
mov eax, dword [ebp - 0xcc]
cmp dword [eax + 0x24], 0
jne 0x61e66deb
mov eax, dword [ebp - 0xb0]
mov edx, ebx
mov dword [ebp - 0x110], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeEndCoroutine
mov eax, dword [ebp - 0xd0]
mov edx, edi
call sym._sqlite3VdbeJumpHere
mov eax, dword [ebp - 0xd8]
cmp dword [ebp - 0x104], 0
mov eax, dword [eax]
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
jne 0x61e67195
mov eax, dword [ebp - 0xcc]
xor edi, edi
call sym._sqlite3GetVdbe
cmp dword [esi + 0x38], 0
mov dword [ebp - 0xd4], eax
mov eax, dword [eax + 0x88]
mov dword [ebp - 0xf4], eax
je 0x61e6712d
mov eax, dword [ebp - 0xcc]
mov edx, dword [esi + 0x40]
mov eax, dword [eax]
call sym._sqlite3GetVTable.isra.153
mov edi, eax
mov ebx, 1
cmp dword [ebp - 0xf4], ebx
jle 0x61e6717f
mov eax, dword [ebp - 0xd4]
mov edx, ebx
call sym._sqlite3VdbeGetOp
mov dl, byte [eax]
cmp dl, 0x6d
jne 0x61e67172
mov ecx, dword [ebp - 0xe8]
cmp ecx, dword [eax + 0xc]
jne 0x61e6717c
mov edx, dword [eax + 8]
cmp edx, dword [esi + 0x1c]
je 0x61e67195
mov eax, dword [esi + 8]
test eax, eax
je 0x61e6717c
cmp edx, dword [eax + 0x2c]
je 0x61e67195
mov eax, dword [eax + 0x14]
jmp 0x61e67164
cmp dl, 0xa4
jne 0x61e6717c
cmp dword [eax + 0x10], edi
je 0x61e67195
inc ebx
jmp 0x61e67132
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0xe8], 0
jmp 0x61e67314
mov eax, dword [ebp - 0xcc]
mov edi, dword [ebp - 0xcc]
mov eax, dword [eax + 0x28]
mov dword [ebp - 0xe8], eax
inc eax
mov dword [edi + 0x28], eax
mov eax, edi
call sym._sqlite3GetTempReg
mov edi, eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3GetTempReg
mov ebx, eax
mov eax, dword [ebp - 0xf0]
mov ecx, dword [ebp - 0xe8]
mov edx, 0x71
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xd0]
mov edx, 0xe
call sym._sqlite3VdbeAddOp1
mov dword [ebp - 0xd4], eax
mov eax, dword [ebp - 0xf0]
mov edx, 0x66
mov ecx, dword [ebp - 0x110]
mov dword [esp + 4], edi
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd0]
mov edx, 0x79
mov dword [esp], ebx
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd0]
mov edx, 0x7a
mov dword [esp + 4], ebx
mov dword [esp], edi
call sym._sqlite3VdbeAddOp3
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeGoto
mov edx, dword [ebp - 0xd4]
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeJumpHere
mov eax, dword [ebp - 0xcc]
mov edx, edi
call sym._sqlite3ReleaseTempReg
mov eax, dword [ebp - 0xcc]
mov edx, ebx
call sym._sqlite3ReleaseTempReg
mov byte [ebp - 0xf4], 1
jmp 0x61e67314
mov eax, dword [ebp - 0xd8]
lea ebx, [ebp - 0x80]
mov ecx, 8
cmp dword [ebp - 0xec], 0
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0x80], eax
je 0x61e672ef
mov eax, dword [ebp - 0xec]
mov edx, dword [ebp - 0xec]
mov eax, dword [eax]
mov dword [ebp - 0xf0], eax
mov eax, ebx
call sym._sqlite3ResolveExprListNames
test eax, eax
mov dword [ebp - 0xd4], 0
je 0x61e672f9
jmp 0x61e66deb
mov dword [ebp - 0xf0], 0
mov dword [ebp - 0x110], 0
mov byte [ebp - 0xf4], 0
mov dword [ebp - 0xe8], 0xffffffff
cmp dword [ebp + 8], 0
sete cl
cmp dword [ebp - 0xf0], 0
jle 0x61e67332
test cl, cl
je 0x61e67332
movsx eax, word [esi + 0x28]
mov dword [ebp - 0xe4], eax
movsx eax, word [esi + 0x2a]
xor edi, edi
xor ebx, ebx
cmp ebx, eax
jge 0x61e67353
mov edx, ebx
inc ebx
shl edx, 4
add edx, dword [esi + 4]
mov dl, byte [edx + 0xf]
shr dl, 1
and edx, 1
add edi, edx
jmp 0x61e6733a
cmp dword [ebp - 0xf0], 0
je 0x61e673a5
test cl, cl
je 0x61e673a5
sub eax, edi
cmp dword [ebp - 0xf0], eax
je 0x61e673e2
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xfc]
mov esi, dword [ebp - 0xf0]
mov dword [esp + 0xc], 0
mov dword [esp + 4], str.table__S_has__d_columns_but__d_values_were_supplied
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xcc]
mov dword [esp + 0x14], esi
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x61e66de1
cmp dword [ebp + 8], 0
je 0x61e673e2
mov eax, dword [ebp + 8]
mov eax, dword [eax + 4]
cmp dword [ebp - 0xf0], eax
je 0x61e673e2
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xf0]
mov dword [esp + 4], str._d_values_for__d_columns
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xcc]
mov dword [esp], eax
call sym._sqlite3ErrorMsg
jmp 0x61e66de1
mov eax, dword [ebp - 0xe0]
mov dword [ebp - 0x100], 0
test byte [eax + 0x1c], 0x80
je 0x61e67438
mov eax, dword [ebp - 0xcc]
cmp byte [eax + 0x12], 0
jne 0x61e67438
cmp dword [eax + 0x78], 0
jne 0x61e67438
mov eax, dword [eax + 0x2c]
xor ecx, ecx
mov edx, 0x46
inc eax
mov dword [ebp - 0x100], eax
mov eax, dword [ebp - 0xcc]
mov edi, dword [ebp - 0x100]
mov dword [eax + 0x2c], edi
mov eax, dword [ebp - 0xd0]
mov dword [esp], edi
call sym._sqlite3VdbeAddOp2
cmp dword [ebp - 0x128], 0
mov dword [ebp - 0xd4], 0
jne 0x61e674f0
lea eax, [ebp - 0xc0]
mov ecx, 0x6e
mov edx, esi
mov dword [esp + 8], 0
mov dword [esp + 4], 0xffffffff
mov dword [esp + 0x10], eax
lea eax, [ebp - 0xc4]
mov dword [esp], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3OpenTableAndIndices
lea edx, [eax*4 + 4]
mov ebx, eax
mov eax, dword [ebp - 0xe0]
xor ecx, ecx
call sym._sqlite3DbMallocRawNN
test eax, eax
mov dword [ebp - 0xd4], eax
je 0x61e66deb
mov ecx, dword [esi + 8]
xor eax, eax
cmp eax, ebx
jge 0x61e674f0
mov edi, dword [ebp - 0xcc]
mov edi, dword [edi + 0x2c]
lea edx, [edi + 1]
mov dword [ebp - 0xf8], edi
mov edi, dword [ebp - 0xcc]
mov dword [edi + 0x2c], edx
mov edi, dword [ebp - 0xd4]
mov dword [edi + eax*4], edx
mov edi, dword [ebp - 0xcc]
inc eax
movzx edx, word [ecx + 0x34]
mov ecx, dword [ecx + 0x14]
add dword [edi + 0x2c], edx
jmp 0x61e674b5
cmp dword [ebp + 0x10], 0
je 0x61e6773d
mov eax, dword [ebp - 0xc4]
mov edi, dword [ebp - 0xfc]
mov ebx, dword [ebp - 0xfc]
mov dword [edi + 0x34], eax
mov edi, dword [ebp + 0x10]
mov edx, dword [edi]
mov dword [edi + 0x14], ebx
mov dword [edi + 0x1c], eax
mov ebx, dword [ebp - 0x12c]
mov eax, dword [ebp - 0xc0]
test edx, edx
mov dword [edi + 0x18], ebx
mov dword [edi + 0x20], eax
je 0x61e6773d
lea ebx, [ebp - 0xa0]
xor eax, eax
mov ecx, 8
mov edi, ebx
rep stosd dword es:[edi], eax
mov eax, dword [ebp - 0xcc]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0xfc]
mov dword [ebp - 0x9c], eax
mov eax, ebx
call sym._sqlite3ResolveExprListNames
test eax, eax
jne 0x61e6773d
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
mov eax, ebx
call sym._sqlite3ResolveExprNames
test eax, eax
jne 0x61e6773d
mov eax, dword [ebp - 0xfc]
mov ebx, dword [eax + 0x18]
mov eax, dword [ebp + 0x10]
mov eax, dword [eax]
test byte [ebx + 0x24], 0x20
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xfc]
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x11c], eax
jne 0x61e675c8
mov eax, dword [ebp - 0x10c]
cmp dword [eax], 1
jne 0x61e675c8
mov eax, dword [eax + 4]
cmp byte [eax], 0x9e
jne 0x61e675c8
cmp word [eax + 0x20], 0xffff
je 0x61e6773d
lea edx, [ebp - 0x80]
xor eax, eax
mov ecx, 0x1a
mov edi, edx
mov dword [ebp - 0x124], edx
rep stosd dword es:[edi], eax
lea eax, [ebp - 0x4c]
mov edi, dword [ebp - 0x11c]
mov byte [ebp - 0x80], 0x66
mov byte [ebp - 0x4c], 0x9e
mov dword [ebp - 0x74], eax
mov ebx, dword [ebx + 8]
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x130], eax
test ebx, ebx
je 0x61e67727
cmp byte [ebx + 0x36], 0
je 0x61e6771f
mov edi, dword [ebp - 0x10c]
movzx eax, word [ebx + 0x32]
cmp dword [edi], eax
jne 0x61e6771f
mov ecx, dword [ebx + 0x24]
test ecx, ecx
jne 0x61e67638
movzx eax, word [ebx + 0x32]
xor edi, edi
mov dword [ebp - 0x120], eax
jmp 0x61e676e4
mov eax, dword [ebp + 0x10]
mov edx, dword [eax + 4]
test edx, edx
je 0x61e6771f
mov eax, dword [ebp - 0x11c]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCompare
test eax, eax
jne 0x61e6771f
jmp 0x61e67627
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 0x61e676f2
imul eax, edi, 0x18
add eax, dword [ebx + 0x28]
mov eax, dword [eax + 4]
cmp byte [eax], 0x66
mov dword [ebp - 0xf8], eax
je 0x61e6769d
mov dword [ebp - 0x74], eax
mov eax, dword [ebp - 0x124]
mov dword [ebp - 0xf8], eax
mov dword [ebp - 0x118], 0
imul eax, dword [ebp - 0x118], 0x18
mov ecx, dword [ebp - 0x10c]
mov edx, dword [ecx + eax + 4]
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0xf8]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCompare
dec eax
jg 0x61e67701
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x120], ecx
jle 0x61e6771f
inc edi
cmp dword [ebp - 0x120], edi
jg 0x61e67664
jmp 0x61e67717
mov ecx, dword [ebp - 0x130]
mov word [ebp - 0x2c], ax
mov dword [ebp - 0x74], ecx
jmp 0x61e67691
inc dword [ebp - 0x118]
mov ecx, dword [ebp - 0x118]
cmp dword [ebp - 0x120], ecx
jg 0x61e676a7
jmp 0x61e6771f
mov eax, dword [ebp + 0x10]
mov dword [eax + 0x10], ebx
jmp 0x61e6773d
mov ebx, dword [ebx + 0x14]
jmp 0x61e675fc
mov eax, dword [ebp - 0xcc]
mov dword [esp + 4], str.ON_CONFLICT_clause_does_not_match_any_PRIMARY_KEY_or_UNIQUE_constraint
mov dword [esp], eax
call sym._sqlite3ErrorMsg
cmp byte [ebp - 0xf4], 0
je 0x61e67770
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd0]
mov edx, 0x24
call sym._sqlite3VdbeAddOp1
mov dword [ebp - 0x10c], eax
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0x88]
jmp 0x61e67795
cmp dword [ebp - 0xd8], 0
je 0x61e6779d
mov ecx, dword [ebp - 0xb4]
mov eax, dword [ebp - 0xd0]
mov edx, 0xe
call sym._sqlite3VdbeAddOp1
mov dword [ebp - 0x10c], eax
mov dword [ebp - 0x120], eax
jmp 0x61e677b1
mov dword [ebp - 0x120], 0
mov dword [ebp - 0x10c], 0
mov eax, dword [ebp - 0xd0]
mov eax, dword [eax + 0xc]
call sym._sqlite3VdbeMakeLabel.isra.427
test byte [ebp - 0xbc], 1
mov dword [ebp - 0x124], eax
je 0x61e67aa6
movsx edx, word [esi + 0x2a]
mov eax, dword [ebp - 0xcc]
inc edx
call sym._sqlite3GetTempRange
cmp dword [ebp - 0xe4], 0
mov dword [ebp - 0xf8], eax
jns 0x61e6780c
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
or ecx, 0xffffffff
mov edx, 0x46
call sym._sqlite3VdbeAddOp2
jmp 0x61e678b9
cmp byte [ebp - 0xf4], 0
je 0x61e67840
mov eax, dword [ebp - 0xf8]
mov ecx, dword [ebp - 0xe8]
mov edx, 0x5a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
jmp 0x61e67862
imul eax, dword [ebp - 0xe4], 0x18
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xf8]
mov edx, dword [ebx + eax + 4]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCode
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xd0]
mov edx, 0x33
call sym._sqlite3VdbeAddOp1
mov ebx, eax
mov eax, dword [ebp - 0xf8]
or ecx, 0xffffffff
mov edx, 0x46
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0xd0]
mov edx, ebx
call sym._sqlite3VdbeJumpHere
mov ecx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xd0]
mov edx, 0xf
call sym._sqlite3VdbeAddOp1
mov eax, dword [ebp - 0xf8]
xor edi, edi
mov dword [ebp - 0x11c], 0
inc eax
mov dword [ebp - 0x134], eax
mov dword [ebp - 0x118], eax
mov al, byte [ebp - 0xf4]
xor eax, 1
mov byte [ebp - 0x13d], al
movsx eax, word [esi + 0x2a]
cmp dword [ebp - 0x11c], eax
jge 0x61e67a27
cmp dword [ebp + 8], 0
je 0x61e6791d
mov eax, dword [ebp + 8]
xor edi, edi
mov eax, dword [eax + 4]
cmp edi, eax
jge 0x61e6791d
mov ebx, dword [ebp + 8]
mov edx, dword [ebx]
mov ebx, dword [ebp - 0x11c]
cmp ebx, dword [edx + edi*8 + 4]
je 0x61e6791d
inc edi
jmp 0x61e67905
cmp byte [ebp - 0x13d], 0
je 0x61e6792f
cmp dword [ebp - 0xec], 0
je 0x61e6793d
cmp dword [ebp + 8], 0
je 0x61e67962
mov eax, dword [ebp + 8]
cmp edi, dword [eax + 4]
jl 0x61e67962
mov eax, dword [ebp - 0x11c]
mov ecx, dword [ebp - 0x118]
shl eax, 4
add eax, dword [esi + 4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCode
jmp 0x61e67a0f
cmp byte [ebp - 0xf4], 0
je 0x61e67990
mov eax, dword [ebp - 0x118]
mov ecx, dword [ebp - 0xe8]
mov edx, 0x5a
mov dword [esp], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
jmp 0x61e67a0f
imul eax, edi, 0x18
mov ebx, dword [ebp - 0xec]
mov ecx, dword [ebp - 0x118]
mov ebx, dword [ebx + eax + 4]
mov eax, dword [ebp - 0xcc]
mov eax, dword [eax + 8]
mov edx, ebx
mov dword [ebp - 0x13c], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCode
mov eax, dword [ebp - 0xcc]
mov edx, 0x4e
mov eax, dword [eax + 0x2c]
inc eax
mov dword [ebp - 0x130], eax
mov eax, dword [ebp - 0xcc]
mov ecx, dword [ebp - 0x130]
mov dword [eax + 0x2c], ecx
mov dword [esp], ecx
mov eax, dword [ebp - 0x13c]
mov ecx, dword [ebp - 0x118]
call sym._sqlite3VdbeAddOp2
mov al, byte [ebx]
and dword [ebx + 4], 0xffffefff
mov byte [ebx], 0xa4
mov byte [ebx + 0x26], al
mov eax, dword [ebp - 0x130]
mov dword [ebx + 0x1c], eax
cmp dword [ebp + 8], 1
adc edi, 0
inc dword [ebp - 0x11c]
inc dword [ebp - 0x118]
jmp 0x61e678e7
cmp dword [ebp - 0x128], 0
jne 0x61e67a43
mov ecx, dword [ebp - 0x134]
mov eax, dword [ebp - 0xd0]
mov edx, esi
call sym._sqlite3TableAffinity
mov eax, dword [ebp - 0x124]
mov edi, dword [ebp - 0xf8]
mov ecx, 0x74
mov edx, dword [ebp - 0x104]
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
movsx eax, word [esi + 0x2a]
mov dword [esp + 8], esi
mov dword [esp + 4], 1
mov dword [esp], 0
sub edi, eax
mov eax, edi
dec eax
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3CodeRowTrigger
movsx ecx, word [esi + 0x2a]
mov edx, dword [ebp - 0xf8]
mov eax, dword [ebp - 0xcc]
inc ecx
call sym._sqlite3ReleaseTempRange
cmp dword [ebp - 0x128], 0
jne 0x61e67f0f
cmp dword [esi + 0x38], 0
je 0x61e67ad4
mov eax, dword [ebp - 0x108]
xor ecx, ecx
mov edx, 0x49
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
cmp dword [ebp - 0xe4], 0
js 0x61e67bae
cmp byte [ebp - 0xf4], 0
je 0x61e67b18
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe8]
mov edx, 0x5a
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xe4]
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
jmp 0x61e68033
cmp dword [ebp - 0xd8], 0
je 0x61e67b4b
mov eax, dword [ebp - 0xdc]
mov ecx, dword [ebp - 0xe4]
mov edx, 0x4e
add ecx, dword [ebp - 0x110]
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
jmp 0x61e68033
imul eax, dword [ebp - 0xe4], 0x18
mov edi, dword [ebp - 0xec]
mov ecx, dword [ebp - 0xdc]
mov edx, dword [edi + eax + 4]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCode
mov eax, dword [ebp - 0xd0]
or edx, 0xffffffff
call sym._sqlite3VdbeGetOp
cmp byte [eax], 0x49
jne 0x61e68033
cmp dword [esi + 0x38], 0
jne 0x61e68033
mov edi, dword [ebp - 0xdc]
mov byte [eax], 0x79
mov edx, dword [ebp - 0xc4]
mov dword [eax + 8], edi
mov edi, dword [ebp - 0x114]
mov dword [eax + 4], edx
mov dword [eax + 0xc], edi
jmp 0x61e67c0a
cmp dword [esi + 0x38], 0
jne 0x61e67bbd
cmp dword [ebp - 0x138], 0
je 0x61e67be1
mov eax, dword [ebp - 0xdc]
xor ecx, ecx
mov edx, 0x49
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
mov byte [ebp - 0xf8], 0
jmp 0x61e67c11
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xc4]
mov edx, 0x79
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
mov byte [ebp - 0xf8], 1
cmp dword [ebp - 0x114], 0
jle 0x61e67c3c
mov eax, dword [ebp - 0xcc]
mov ebx, dword [ebp - 0xdc]
mov edx, 0x98
mov ecx, dword [ebp - 0x114]
mov eax, dword [eax + 8]
mov dword [esp], ebx
call sym._sqlite3VdbeAddOp2
mov eax, dword [ebp - 0xdc]
mov dword [ebp - 0x114], 0
xor ebx, ebx
inc eax
mov dword [ebp - 0x118], eax
movsx eax, word [esi + 0x2a]
cmp ebx, eax
jge 0x61e67d78
mov eax, dword [ebp - 0x118]
lea ecx, [eax + ebx]
movsx eax, word [esi + 0x28]
cmp ebx, eax
jne 0x61e67c87
mov eax, dword [ebp - 0xd0]
mov edx, 0x4a
call sym._sqlite3VdbeAddOp1
jmp 0x61e67d72
cmp dword [ebp + 8], 0
je 0x61e67c97
mov eax, dword [ebp + 8]
mov edi, dword [eax + 4]
xor eax, eax
jmp 0x61e67cc4
mov edx, ebx
mov eax, ebx
sub eax, dword [ebp - 0x114]
shl edx, 4
add edx, dword [esi + 4]
test byte [edx + 0xf], 2
je 0x61e67cc8
inc dword [ebp - 0x114]
or eax, 0xffffffff
jmp 0x61e67cc8
mov edx, dword [ebp + 8]
mov edx, dword [edx]
cmp ebx, dword [edx + eax*8 + 4]
je 0x61e67cc8
inc eax
cmp eax, edi
jl 0x61e67cb8
mov edx, eax
shr edx, 0x1f
jne 0x61e67ce6
cmp dword [ebp - 0xf0], 0
je 0x61e67ce6
cmp dword [ebp + 8], 0
je 0x61e67cfe
mov edx, dword [ebp + 8]
cmp eax, dword [edx + 4]
jl 0x61e67cfe
mov eax, ebx
shl eax, 4
add eax, dword [esi + 4]
mov edx, dword [eax + 4]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCodeFactorable
jmp 0x61e67d72
cmp byte [ebp - 0xf4], 0
je 0x61e67d26
mov dword [esp + 4], ecx
mov dword [esp], eax
mov edx, 0x5a
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
jmp 0x61e67d72
cmp dword [ebp - 0xd8], 0
je 0x61e67d5a
mov edi, dword [ebp - 0x12c]
cmp dword [ebp - 0x110], edi
je 0x61e67d72
add eax, dword [ebp - 0x110]
mov dword [esp], ecx
mov edx, 0x4f
mov ecx, eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
jmp 0x61e67d72
imul eax, eax, 0x18
mov edi, dword [ebp - 0xec]
mov edx, dword [edi + eax + 4]
mov eax, dword [ebp - 0xcc]
call sym._sqlite3ExprCode
inc ebx
jmp 0x61e67c55
cmp dword [esi + 0x38], 0
je 0x61e67dfb
mov edx, dword [esi + 0x40]
mov eax, dword [ebp - 0xe0]
call sym._sqlite3GetVTable.isra.153
mov ebx, eax
mov eax, dword [ebp - 0xcc]
mov edx, esi
call sym._sqlite3VtabMakeWritable
mov eax, dword [ebp - 0x108]
mov dword [esp + 0xc], 0xfffffff4
mov ecx, 1
mov dword [esp + 8], ebx
mov edx, 0xa
mov dword [esp + 4], eax
movsx eax, word [esi + 0x2a]
add eax, 2
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp4
movzx eax, word [ebp + 0xc]
cmp dword [ebp + 0xc], 0xb
mov edx, 2
cmovne edx, eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeChangeP5
mov eax, dword [ebp - 0xcc]
call sym._sqlite3MayAbort
jmp 0x61e67f0f
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp - 0xd4]
mov edx, esi
mov dword [esp + 0x20], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x24], eax
lea eax, [ebp - 0x80]
mov dword [esp + 0x1c], eax
mov eax, dword [ebp - 0x124]
mov dword [esp + 0x18], eax
movzx eax, byte [ebp + 0xc]
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xe4]
not eax
shr eax, 0x1f
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 8], eax
mov eax, dword [ebp - 0xc0]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc4]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3GenerateConstraintChecks
mov eax, dword [ebp - 0x108]
xor ecx, ecx
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov edx, esi
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3FkCheck
cmp dword [ebp - 0x80], 0
mov eax, 1
je 0x61e67ec8
xor eax, eax
cmp dword [ebp - 0x104], 0
jne 0x61e67ec8
mov edi, dword [ebp - 0xe0]
mov eax, 1
test byte [edi + 0x1d], 0x40
je 0x61e67ec8
mov eax, esi
call sym._sqlite3FkReferences
test eax, eax
sete al
movzx eax, al
mov dword [esp + 0x14], eax
mov eax, dword [ebp - 0xd4]
mov edx, esi
movzx edi, byte [ebp - 0xf8]
mov ecx, dword [ebp - 0xc4]
mov dword [esp + 0xc], 0
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x108]
mov dword [esp + 0x10], edi
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xc0]
mov dword [esp], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3CompleteInsertion
cmp dword [ebp - 0x100], 0
je 0x61e67f35
mov ecx, dword [ebp - 0x100]
mov eax, dword [ebp - 0xd0]
mov edx, 0x53
mov dword [esp], 1
call sym._sqlite3VdbeAddOp2
cmp dword [ebp - 0x104], 0
je 0x61e67f89
mov eax, dword [ebp - 0x124]
mov ecx, 0x74
mov dword [esp + 0x14], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0xdc]
movsx edx, word [esi + 0x2a]
mov dword [esp + 8], esi
mov dword [esp + 4], 2
mov dword [esp], 0
dec eax
sub eax, edx
mov edx, dword [ebp - 0x104]
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0xcc]
call sym._sqlite3CodeRowTrigger
mov edx, dword [ebp - 0x124]
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeResolveLabel
cmp byte [ebp - 0xf4], 0
je 0x61e67fee
mov eax, dword [ebp - 0x120]
mov ecx, dword [ebp - 0xe8]
mov edx, 5
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeJumpHere
mov ecx, dword [ebp - 0xe8]
mov eax, dword [ebp - 0xd0]
mov edx, 0x75
call sym._sqlite3VdbeAddOp1
jmp 0x61e66cf1
cmp dword [ebp - 0xd8], 0
je 0x61e66cf1
mov edx, dword [ebp - 0x120]
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeGoto
mov edx, dword [ebp - 0x10c]
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeJumpHere
jmp 0x61e66cf1
mov eax, dword [ebp - 0x108]
mov dword [ebp - 0xdc], eax
jmp 0x61e66ebd
cmp dword [esi + 0x38], 0
jne 0x61e68089
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
mov edx, 0x33
call sym._sqlite3VdbeAddOp1
mov ebx, eax
mov eax, dword [ebp - 0x114]
mov ecx, dword [ebp - 0xc4]
mov edx, 0x79
mov dword [esp + 4], eax
mov eax, dword [ebp - 0xdc]
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp3
mov eax, dword [ebp - 0xd0]
mov edx, ebx
call sym._sqlite3VdbeJumpHere
jmp 0x61e680b7
mov eax, dword [ebp - 0xd0]
mov ecx, dword [ebp - 0xdc]
mov edx, 0x32
mov eax, dword [eax + 0x88]
mov dword [ebp - 0xf8], eax
add eax, 2
mov dword [esp], eax
mov eax, dword [ebp - 0xd0]
call sym._sqlite3VdbeAddOp2
mov ecx, dword [ebp - 0xdc]
mov eax, dword [ebp - 0xd0]
mov edx, 0xf
call sym._sqlite3VdbeAddOp1
jmp 0x61e67bd8
mov eax, dword [0x2c]
ud2