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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x16c
mov dword [esp + 0x44], eax
mov eax, dword [0x6667ced0]
mov dword [esp + 0x80], edx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x114], 0
mov dword [esp + 0x118], 0
mov dword [esp + 0x11c], 0
test eax, eax
jne 0x6666c191
call fcn.66587320
test eax, eax
jne 0x6666c181
call fcn.665cb300
test eax, eax
jne 0x6666c181
mov eax, 0x280
xor edx, edx
call fcn.6658bcf0
mov esi, eax
test eax, eax
je 0x6666c181
lea eax, [eax + 0x238]
mov dword [esp], 0
mov edx, 0x16
lea ecx, [esp + 0x120]
mov dword [esp + 0xa8], eax
lea eax, [esi + 0x248]
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x120], 0
mov dword [esp + 0x118], 0
call fcn.666450c0
mov dword [esp + 0x130], eax
test eax, eax
je 0x6666c19b
mov dword [esp + 0xf4], eax
mov dword [esp], esi
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x114]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0xf4]
add esp, 0x16c
pop ebx
pop esi
pop edi
pop ebp
ret
add esp, 0x16c
mov eax, 7
pop ebx
pop esi
pop edi
pop ebp
ret
lock or dword [esp], 0
jmp 0x6666c0e4
mov eax, dword [esp + 0x120]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x6666d7af
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov edx, dword [esp + 0x130]
test edx, edx
jne 0x6666d83c
mov ecx, dword [esp + 0x80]
mov dword [esp + 0xf4], eax
test ecx, ecx
setg dl
test eax, eax
sete al
and dl, al
mov byte [esp + 0xb3], dl
je 0x6666c158
mov ebx, dword [esp + 0xa4]
mov eax, 2
mov ebp, esi
mov dword [esp + 0xa0], 0
mov dword [esp + 0x50], 0
cmp ebx, 2
mov dword [esp + 0x54], 0
cmovge eax, ebx
mov dword [esp + 0x90], eax
sar eax, 0x1f
mov dword [esp + 0x94], eax
nop
mov eax, dword [esp + 0x44]
mov edx, 0x1c
lea ecx, [esp + 0xf8]
mov dword [esp + 0xf8], 0
mov ebx, dword [eax + 0x100]
mov dword [esp], 0
mov dword [esp + 0x38], ebx
shl ebx, 0xa
mov edi, ebx
mov dword [esp + 0x48], ebx
sar edi, 0x1f
mov dword [esp + 0x4c], edi
call fcn.666450c0
mov esi, dword [esp + 0xf8]
mov edx, 1
mov dword [esp + 0xf4], eax
mov eax, esi
call fcn.665b2b50
test eax, eax
je 0x6666c580
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x6666c6a0
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0xf4], eax
test eax, eax
jne 0x6666c304
mov edi, dword [esp + 0x118]
mov dword [esp + 0x58], edi
test edi, edi
jne 0x6666c368
mov esi, ebp
mov ecx, dword [esp + 0xa0]
test ecx, ecx
je 0x6666c158
mov edx, dword [esp + 0xf4]
test edx, edx
jne 0x6666c158
mov dword [esp], 0
mov eax, dword [esp + 0x44]
mov edx, 0x17
lea ecx, [esp + 0x130]
mov dword [esp + 0x130], 0
call fcn.666450c0
mov ebx, eax
test eax, eax
je 0x6666d850
mov dword [esp + 0xf4], ebx
jmp 0x6666c158
mov edi, dword [esp + 0x58]
mov edx, dword [esp + 0x114]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x120], 0
cmp byte [edx + edi - 1], 0
lea esi, [edi - 1]
js 0x6666cfa8
mov dword [esp + 0x38], 0xffffffff
test esi, esi
jg 0x6666c3c0
jmp 0x6666cf77
test esi, esi
je 0x6666ccdf
movzx eax, byte [edx + esi - 1]
sub esi, 1
test al, al
js 0x6666c3b8
test esi, esi
jg 0x6666c3e1
jmp 0x6666cf80
sub esi, 1
je 0x6666cce9
cmp byte [edx + esi - 1], 0
mov eax, esi
js 0x6666c3d8
add eax, edx
lea edx, [esp + 0x130]
mov dword [esp + 0x118], esi
call fcn.66583d20
add esi, eax
mov eax, dword [esp + 0x114]
add eax, esi
movzx edx, byte [eax]
test dl, dl
js 0x6666cf97
mov dword [esp + 0x120], edx
mov eax, 1
add esi, eax
mov edx, 0x10b
cmp esi, dword [esp + 0x58]
mov eax, 0
cmovne eax, edx
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x38]
mov esi, dword [esp + 0x130]
mov edi, dword [esp + 0x134]
test eax, eax
js 0x6666c9f8
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x4c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x50]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x54]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.libgcc_s_dw2_1.dll___moddi3
mov ecx, dword [esp + 0x4c]
mov dword [esp], esi
mov dword [esp + 0x68], edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0xc], ecx
mov dword [esp + 8], edx
mov dword [esp + 4], edi
mov dword [esp + 0x60], eax
call sub.libgcc_s_dw2_1.dll___moddi3
mov ecx, dword [esp + 0x68]
cmp dword [esp + 0x60], eax
sbb ecx, edx
jge 0x6666c9f8
mov eax, dword [esp + 0x58]
mov dword [esp + 0x58], 0
mov dword [esp + 0x118], eax
mov esi, dword [esp + 0x38]
test esi, esi
jle 0x6666c304
mov ecx, dword [esp + 0x54]
mov edx, dword [esp + 0x50]
test ecx, ecx
js 0x6666cf65
xor eax, eax
cmp eax, edx
sbb ebx, ecx
jl 0x6666cf65
lea edi, [ebp + 4]
mov ecx, ebp
mov dword [ebp], 0
mov dword [ebp + 0x27c], 0
and edi, 0xfffffffc
sub ecx, edi
add ecx, 0x280
shr ecx, 2
rep stosd dword es:[edi], eax
xor eax, eax
mov dword [ebp + 0x244], 1
mov esi, dword [esp + 0xf4]
test esi, esi
je 0x6666c5d0
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [ebp + 0x258]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov esi, dword [esp + 0xf4]
mov dword [ebp + 0x24c], 0
mov dword [ebp + 0x248], 0
mov dword [ebp + 0x258], 0
test esi, esi
jne 0x6666c304
mov ebx, dword [esp + 0x80]
test ebx, ebx
jg 0x6666c260
jmp 0x6666c304
mov eax, dword [esi + 0x64]
mov edx, dword [esp + 0x90]
mov ecx, dword [esp + 0x94]
test word [eax + 8], 0x2400
jne 0x6666c718
mov dword [eax], edx
mov edx, 4
mov dword [eax + 4], ecx
mov word [eax + 8], dx
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6666c2c3
mov dword [esp], eax
call dword [0x6667ce58]
jmp 0x6666c2c3
mov dword [esp], 0
mov eax, dword [esp + 0x44]
mov edx, 8
lea ecx, [esp + 0x130]
mov dword [esp + 0x130], 0
call fcn.666450c0
mov edx, dword [esp + 0x50]
mov ecx, dword [esp + 0x54]
add edx, 1
adc ecx, 0
mov dword [esp + 0x88], edx
mov dword [esp + 0x8c], ecx
test eax, eax
je 0x6666c728
mov dword [esp + 0xf4], eax
mov dword [esp + 0x98], 0
mov dword [esp], 0
mov eax, dword [esp + 0x44]
mov edx, 0xf
lea ecx, [esp + 0x130]
call fcn.666450c0
test eax, eax
je 0x6666cbf5
mov dword [esp + 0xf4], eax
mov eax, dword [ebp + 0x24c]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x248]
lea esi, [esi]
nop
mov edi, dword [esp + 0x48]
test edi, edi
jle 0x6666c529
lea esi, [esi]
mov eax, dword [eax + esi*4]
add esi, 1
call fcn.665fc5d0
cmp esi, dword [ebp + 0x24c]
mov eax, dword [ebp + 0x248]
jl 0x6666c680
jmp 0x6666c529
mov eax, dword [esp + 0xf8]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_int64
mov esi, dword [esp + 0xf8]
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], edx
mov eax, esi
mov edx, 1
call fcn.66594040
call fcn.6658cc70
mov dword [esp + 0x38], eax
test esi, esi
je 0x6666c6e6
mov eax, esi
call fcn.66594000
mov eax, dword [esp + 0xf8]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0xf4], eax
test eax, eax
je 0x6666cc96
mov dword [esp + 0x58], 0
jmp 0x6666c4c0
call fcn.665928a0
jmp 0x6666c5ab
mov eax, dword [esp + 0x88]
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
mov eax, dword [esp + 0x130]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_int
mov dword [esp + 0x98], eax
mov ebx, eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0xf4], eax
test ebx, ebx
je 0x6666c62d
cmp ebx, 1
jne 0x6666c7b2
test byte [esp + 0x58], 1
jne 0x6666cf87
test eax, eax
jne 0x6666c9a0
mov ebx, dword [esp + 0x84]
mov dword [esp + 0x130], 0
lea edi, [ebx + 4]
mov dword [ebx], 0
and edi, 0xfffffffc
mov dword [ebx + 0x34], 0
sub ebx, edi
mov ecx, ebx
add ecx, 0x38
shr ecx, 2
rep stosd dword es:[edi], eax
mov ebx, dword [0x6667ced0]
test ebx, ebx
jne 0x6666c9e8
call fcn.66587320
test eax, eax
jne 0x6666c9b8
call fcn.665cb300
test eax, eax
jne 0x6666c9b8
mov eax, dword [esp + 0x38]
xor edx, edx
lea ebx, [eax*4]
mov eax, ebx
call fcn.6658bcf0
mov dword [ebp + 0x248], eax
test eax, eax
je 0x6666cfd0
mov dword [esp + 8], ebx
mov dword [esp + 4], 0
mov dword [esp], eax
call sub.msvcrt.dll_memset
mov dword [esp], 0
mov eax, dword [esp + 0x44]
lea ecx, [esp + 0x130]
mov edx, 0xc
call fcn.666450c0
mov edi, eax
test eax, eax
je 0x6666ca38
mov eax, dword [ebp + 0x24c]
mov dword [esp + 0xf4], edi
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x248]
jmp 0x6666c670
mov ebx, dword [esp + 0x58]
mov eax, edi
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x38], edi
mov esi, dword [esp + 0x70]
mov edi, dword [esp + 0x68]
mov ecx, dword [ebx + 0x4c]
test eax, eax
jne 0x6666c94b
cmp byte [ebp + 0x30], 0
mov ebx, dword [ebx + 0x50]
mov dword [esp + 0x38], 0
mov dword [esp + 0x3c], 0
jne 0x6666c8d3
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], edx
mov eax, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], ebx
add eax, 1
adc edx, 0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x38]
mov dword [esp + 0x64], edx
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1c], eax
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x20], edx
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
mov eax, dword [ebp + 0x38]
mov edx, dword [ebp + 0x3c]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], edx
mov eax, dword [ebp + 0x18]
mov edx, dword [ebp + 0x1c]
mov dword [esp + 4], eax
mov dword [esp + 8], edx
mov eax, dword [ebp + 0x10]
mov edx, dword [esp + 0x60]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
call fcn.66653130
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x58]
mov ecx, dword [eax + 0x4c]
mov dword [esp], ecx
shl edi, 5
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [ebp + edi + 0x40]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x38]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x48]
test eax, eax
jne 0x6666c9a0
cmp byte [ebp + 0x30], 0
jne 0x6666c9a0
mov eax, dword [ebp + 0x28]
mov edx, dword [ebp + 0x2c]
mov ecx, dword [esp + 0x8c]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 4], edx
mov edx, dword [esp + 0x88]
call fcn.66653360
nop
mov eax, dword [ebp + 0x24c]
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x248]
jmp 0x6666c670
mov dword [ebp + 0x248], 0
mov eax, dword [ebp + 0x24c]
mov dword [esp + 0xf4], 7
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x248]
jmp 0x6666c670
lock or dword [esp], 0
jmp 0x6666c813
mov dword [esp + 0x50], esi
mov eax, dword [esp + 0x120]
mov dword [esp + 0x54], edi
mov edx, dword [esp + 0x38]
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x58], 1
mov dword [esp + 0xa0], 1
cmp edi, edx
cmovge edx, edi
cmp edx, eax
cmovle eax, edx
mov dword [esp + 0x38], eax
jmp 0x6666c4c0
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 1
mov ebx, ebp
mov dword [esp + 8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov dword [esp + 0xac], esi
mov esi, edi
lea esi, [esi]
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp dword [esp + 0x38], esi
jle 0x6666ccf0
cmp eax, 0x64
jne 0x6666ccf0
mov eax, dword [ebx + 0x248]
mov edi, dword [esp + 0x130]
mov edx, 4
lea eax, [eax + esi*4]
mov dword [esp + 0x48], eax
mov eax, edi
call fcn.66594040
mov edx, 1
call fcn.665ac480
mov dword [esp + 0x74], eax
test edi, edi
je 0x6666cacb
mov eax, edi
call fcn.66594000
mov edi, dword [esp + 0x130]
mov edx, 4
mov eax, edi
call fcn.66594040
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_value_blob
mov dword [esp + 0x70], eax
test edi, edi
je 0x6666caf5
mov eax, edi
call fcn.66594000
mov edi, dword [esp + 0x130]
mov edx, 3
mov eax, edi
call fcn.66594040
call fcn.6658cc70
mov dword [esp + 0x68], eax
mov dword [esp + 0x6c], edx
test edi, edi
je 0x6666cb20
mov eax, edi
call fcn.66594000
mov edi, dword [esp + 0x130]
mov edx, 2
mov eax, edi
call fcn.66594040
call fcn.6658cc70
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
test edi, edi
je 0x6666cb4b
mov eax, edi
call fcn.66594000
mov ecx, dword [esp + 0x130]
mov edx, 1
mov eax, ecx
mov dword [esp + 0x78], ecx
call fcn.66594040
call fcn.6658cc70
mov ecx, dword [esp + 0x78]
mov edi, eax
mov ebp, edx
test ecx, ecx
je 0x6666cb7a
mov eax, ecx
call fcn.66594000
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x6c]
mov dword [esp], edi
mov dword [esp + 4], ebp
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 8], eax
mov eax, esi
add esi, 1
call fcn.665d4630
add dword [ebx + 0x24c], 1
test eax, eax
je 0x6666ca70
mov ebp, ebx
mov ebx, eax
mov eax, dword [esp + 0x130]
mov esi, dword [esp + 0xac]
mov edi, ebx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
jmp 0x6666c86f
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 1
add eax, 2
mov dword [esp + 8], eax
mov eax, dword [esp + 0x130]
adc edx, 0
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov edx, dword [esp + 0x8c]
mov eax, dword [esp + 0x88]
mov dword [esp + 4], 2
shrd eax, edx, 0xa
shr edx, 0xa
add eax, 1
adc edx, 0
shld edx, eax, 0xa
shl eax, 0xa
mov dword [esp + 8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x6666d295
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0xf4], eax
jmp 0x6666c7b2
mov eax, dword [esp + 0x118]
mov dword [esp + 0x58], eax
test eax, eax
je 0x6666c4c0
mov edx, dword [esp + 0x114]
lea esi, [eax - 1]
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x120], 0
cmp byte [edx + eax - 1], 0
jns 0x6666c3aa
mov eax, 0x10b
jmp 0x6666c434
xor eax, eax
jmp 0x6666c3ea
mov eax, dword [esp + 0x130]
mov esi, dword [esp + 0xac]
mov ebp, ebx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov ebx, dword [ebx + 0x24c]
mov dword [esp + 0xf4], eax
mov dword [esp + 0x48], ebx
test eax, eax
jne 0x6666c880
mov edi, dword [esp + 0x48]
cmp dword [esp + 0x38], edi
jne 0x6666c880
mov eax, dword [esp + 0xa8]
mov ecx, dword [ebp + 0x238]
mov edx, dword [esp + 0x84]
mov dword [ebp + 0x254], eax
mov eax, dword [ebp + 0x23c]
mov dword [esp], eax
mov eax, dword [esp + 0x44]
call fcn.66669ff0
mov dword [esp + 0x60], eax
mov dword [esp + 0xf4], eax
test eax, eax
jne 0x6666c9a0
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x44]
call fcn.66669200
mov dword [esp + 0xf4], eax
test eax, eax
je 0x6666cff0
cmp eax, 0x64
jne 0x6666e430
mov edx, dword [esp + 0x98]
test edx, edx
setg bl
and bl, byte [esp + 0x58]
jne 0x6666d392
mov dword [esp], 0
mov eax, dword [esp + 0x44]
mov edx, 0x1d
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
call fcn.666450c0
mov dword [esp + 0x38], eax
test eax, eax
je 0x6666d63a
mov eax, dword [esp + 0x38]
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x38]
test eax, eax
jne 0x6666d1c7
mov eax, dword [ebp]
test eax, eax
je 0x6666d1c7
mov eax, dword [esp + 0x60]
test eax, eax
je 0x6666cffd
mov eax, dword [ebp + 4]
mov edx, dword [ebp + 0x24c]
mov dword [esp + 0x48], 0
add eax, 1
sub dword [esp + 0x80], eax
mov eax, edx
sub eax, 1
mov dword [esp + 0x60], eax
js 0x6666ef8a
mov dword [esp + 0x58], ebp
mov edi, dword [esp + 0x44]
mov dword [esp + 0x74], esi
test edx, edx
jle 0x6666efdd
mov eax, dword [esp + 0x58]
mov ebp, dword [esp + 0x60]
mov ecx, dword [eax + 0x248]
xor eax, eax
jmp 0x6666ce77
add eax, 1
cmp eax, edx
je 0x6666ce80
mov esi, dword [ecx + eax*4]
mov ebx, dword [esi]
cmp ebx, ebp
jne 0x6666ce70
mov eax, dword [esi + 0x28]
test eax, eax
je 0x6666d2e9
mov eax, dword [esi + 0x40]
lea ecx, [esp + 0xfc]
mov edx, 0x20
mov dword [esp + 0x68], eax
mov eax, dword [esi + 0x3c]
mov dword [esp], 0
mov dword [esp + 0x70], eax
mov eax, edi
mov dword [esp + 0x120], 0
mov dword [esp + 0x124], 0
mov dword [esp + 0x128], 0
mov dword [esp + 0x130], 0
mov dword [esp + 0x134], 0
mov dword [esp + 0x138], 0
mov dword [esp + 0x108], 0
mov dword [esp + 0x10c], 0
mov dword [esp + 0xfc], 0
call fcn.666450c0
mov ebp, eax
test eax, eax
je 0x6666d8ff
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
add dword [esp + 0x48], 1
sub dword [esp + 0x60], 1
js 0x6666e6fe
test ebp, ebp
jne 0x6666e77e
mov eax, dword [esp + 0x58]
mov edx, dword [eax + 0x24c]
jmp 0x6666ce4e
mov dword [esp + 0xf4], 0x10b
mov esi, ebp
jmp 0x6666c306
je 0x6666ccdf
sub esi, 1
mov eax, esi
jmp 0x6666c3ea
mov dword [esp + 0x98], 1
jmp 0x6666c62d
lea edx, [esp + 0x120]
call fcn.66583e50
jmp 0x6666c421
mov dword [esp + 0xf4], 0x10b
mov dword [esp + 0x50], 0
mov dword [esp + 0x54], 0
mov dword [esp + 0x38], 0xffffffff
jmp 0x6666ca07
mov eax, dword [ebp + 0x24c]
mov dword [esp + 0xf4], 7
mov dword [esp + 0x48], eax
mov eax, dword [ebp + 0x248]
jmp 0x6666c670
mov dword [esp + 0x60], 1
jmp 0x6666cd96
lea eax, [ebp + 0x4c]
mov dword [esp + 0x38], ebp
mov dword [esp + 0xe0], eax
lea eax, [ebp + 0x40]
mov dword [esp + 0xe4], eax
mov dword [esp + 0xcc], esi
mov eax, dword [esp + 0x38]
mov ebx, dword [eax + 0x270]
mov edx, dword [eax + 0x27c]
mov dword [esp + 0x74], ebx
mov ebx, dword [eax + 0x274]
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x74]
mov dword [esp + 0x70], ebx
mov ebx, dword [eax + 0x278]
mov dword [esp + 0xc8], ebx
mov ebx, eax
mov eax, dword [eax + 0x44]
mov edx, dword [ebx + 0x40]
xor ebx, ebx
mov edi, eax
test eax, eax
jg 0x6666d06f
jmp 0x6666e3a6
add ebx, 1
cmp edi, ebx
je 0x6666d078
movzx eax, byte [ecx + ebx]
cmp byte [edx + ebx], al
je 0x6666d068
mov eax, dword [esp + 0x70]
xor esi, esi
sub eax, ebx
mov dword [esp + 0x58], eax
mov eax, ebx
cdq
lea esi, [esi]
nop
shrd eax, edx, 7
shr edx, 7
add esi, 1
mov edi, edx
or edi, eax
jne 0x6666d090
mov eax, dword [esp + 0x58]
xor ecx, ecx
cdq
lea esi, [esi]
nop
shrd eax, edx, 7
shr edx, 7
add ecx, 1
mov ebp, edx
or ebp, eax
jne 0x6666d0b0
mov eax, dword [esp + 0x60]
mov edx, dword [esp + 0x58]
mov ebp, eax
add edx, ecx
mov dword [esp + 0xb8], eax
mov edi, eax
sar ebp, 0x1f
add edx, esi
xor eax, eax
mov dword [esp + 0xbc], ebp
lea esi, [esi]
nop
shrd edi, ebp, 7
shr ebp, 7
add eax, 1
mov esi, ebp
or esi, edi
jne 0x6666d0e8
add eax, dword [esp + 0x60]
add eax, edx
mov edx, dword [esp + 0x38]
mov ecx, dword [edx + 0x50]
lea esi, [eax + ecx]
test ecx, ecx
jle 0x6666dd79
mov edx, dword [esp + 0x44]
cmp dword [edx + 0xe8], esi
jl 0x6666dcb0
mov ebx, dword [esp + 0x38]
cdq
add dword [ebx + 0x28], eax
adc dword [ebx + 0x2c], edx
cmp dword [ebx + 0x54], esi
jl 0x6666dd89
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0xe4]
mov dword [esp + 8], eax
mov eax, dword [esp + 0xc8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x70]
mov dword [esp], eax
mov eax, dword [esp + 0xe0]
call fcn.665ce670
mov dword [esp + 0x58], eax
mov dword [esp + 0xf4], eax
test eax, eax
jne 0x6666d18f
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x44]
call fcn.66669200
mov dword [esp + 0x58], eax
mov dword [esp + 0xf4], eax
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x80]
cmp dword [eax + 4], ebx
jl 0x6666dc90
cmp dword [esp + 0x58], 0x64
mov esi, dword [esp + 0xcc]
mov ebp, eax
je 0x6666dd69
mov eax, dword [esp + 0x58]
test eax, eax
je 0x6666ce18
mov dword [esp + 0x38], eax
neg dword [ebp + 0x28]
adc dword [ebp + 0x2c], 0
neg dword [ebp + 0x2c]
mov eax, dword [ebp + 0x230]
lea ebx, [ebp + 0x220]
mov edi, 0xf
test eax, eax
jg 0x6666d21c
lea esi, [esi]
lea esi, [esi]
mov eax, dword [ebx + 0xc]
sub edi, 1
sub ebx, 0x20
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
cmp edi, 0xffffffff
je 0x6666c96d
mov eax, dword [ebx + 0x10]
test eax, eax
jle 0x6666d1f0
test edi, edi
je 0x6666d5bb
mov eax, edi
mov dword [esp + 0x68], edi
mov ebx, ebp
mov edi, dword [esp + 0x38]
shl eax, 5
mov dword [esp + 0x70], esi
add eax, ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x58], eax
mov esi, eax
jmp 0x6666d266
mov dword [esp], ecx
add ebx, 0x20
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [ebx + 0x20]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
cmp esi, ebx
je 0x6666c88b
mov ebp, dword [ebx + 0x50]
mov ecx, dword [ebx + 0x4c]
test edi, edi
jne 0x6666d248
test ebp, ebp
jle 0x6666d248
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
mov dword [esp], ecx
mov dword [esp + 4], ebp
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.66652fd0
mov ecx, dword [ebx + 0x4c]
mov edi, eax
jmp 0x6666d248
mov edi, dword [esp + 0x130]
xor edx, edx
mov eax, edi
call fcn.66594040
movzx eax, word [eax + 8]
and eax, 0x3f
movzx ebx, byte [eax + 0x66689780]
test edi, edi
je 0x6666d2be
mov eax, edi
call fcn.66594000
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0xf4], eax
cmp bl, 5
jne 0x6666c7b2
or dword [ebp + 0x244], 2
jmp 0x6666c7b2
mov eax, dword [esi + 0xc]
or eax, dword [esi + 8]
jne 0x6666dc77
mov dword [esp], 0
lea ecx, [esp + 0x130]
mov edx, 0x1e
mov eax, edi
mov dword [esp + 0x130], 0
call fcn.666450c0
mov ebp, eax
test eax, eax
jne 0x6666cf43
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x130]
mov dword [esp + 8], ebx
sar ebx, 0x1f
mov dword [esp + 0xc], ebx
mov dword [esp + 4], 2
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov ebp, eax
jmp 0x6666cf43
mov eax, dword [ebp + 0x270]
mov edi, dword [ebp + 0x274]
mov edx, 0x20
mov dword [esp], 0
lea ecx, [esp + 0x100]
mov dword [esp + 0x100], 0
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x44]
call fcn.666450c0
mov dword [esp + 0x38], eax
mov dword [esp + 0xfc], eax
test eax, eax
jne 0x6666cdea
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x8c]
mov dword [esp + 4], 1
mov dword [esp + 0x120], 0
sub eax, 1
mov dword [esp + 0xc], edx
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x124], 0
mov dword [esp + 8], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x70]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
sar eax, 0x1f
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
jne 0x6666e343
mov eax, dword [esp + 0x100]
mov dword [esp + 4], 1
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_int64
mov dword [esp + 4], 2
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x3c], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_int64
lea ecx, [esp + 0x120]
mov dword [esp + 0x78], eax
lea eax, [ebp + 0x28]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
mov dword [esp + 0x7c], edx
mov edx, 3
call fcn.665ac630
mov edx, dword [ebp + 0x2c]
mov eax, dword [ebp + 0x28]
test edx, edx
jns 0x6666d4de
neg eax
adc edx, 0
mov dword [ebp + 0x28], eax
neg edx
mov dword [ebp + 0x2c], edx
mov ecx, eax
or ecx, edx
sete byte [ebp + 0x30]
mov eax, dword [esp + 0x100]
mov dword [esp + 4], 4
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_bytes
mov ecx, dword [esp + 0x100]
mov edx, 4
mov dword [esp + 0x58], eax
mov eax, ecx
mov dword [esp + 0x98], ecx
call fcn.66594040
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_value_blob
mov ecx, dword [esp + 0x98]
mov dword [esp + 0x68], eax
test ecx, ecx
je 0x6666d539
mov eax, ecx
call fcn.66594000
mov eax, dword [esp + 0x68]
test eax, eax
je 0x6666efaa
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x124]
mov dword [esp], 0
lea ecx, [esp + 0x130]
mov dword [esp + 0x130], 0
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x9c], edx
mov edx, 0x22
call fcn.666450c0
test eax, eax
je 0x6666e4f4
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov edx, dword [esp + 0xfc]
test edx, edx
cmove edx, eax
mov dword [esp + 0x38], edx
jmp 0x6666cdea
mov ebx, dword [esp + 0x38]
mov edi, 1
test ebx, ebx
jne 0x6666d224
cmp dword [ebp + 0x74], 0xa
mov ebx, dword [ebp + 0x6c]
jle 0x6666e35b
mov byte [ebx], 1
mov eax, dword [ebp + 0x6c]
mov ecx, dword [ebp + 0x38]
mov ebx, dword [ebp + 0x3c]
mov dword [esp + 0x68], ebp
add eax, 1
mov dword [esp + 0x70], esi
mov dword [esp + 0x60], eax
mov edx, ecx
mov byte [esp + 0x58], cl
shrd ecx, ebx, 7
mov ebp, eax
shr ebx, 7
add eax, 1
or edx, 0xffffff80
mov esi, ebx
mov byte [eax - 1], dl
or esi, ecx
jne 0x6666d5f4
movzx edx, byte [esp + 0x58]
mov ebx, ebp
sub eax, dword [esp + 0x60]
mov edi, 1
mov ebp, dword [esp + 0x68]
add eax, 1
mov esi, dword [esp + 0x70]
and edx, 0x7f
mov byte [ebx], dl
mov dword [ebp + 0x70], eax
jmp 0x6666d224
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 1
xor edi, edi
mov dword [esp + 8], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [ebp + 0x24c]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
sar eax, 0x1f
mov dword [esp + 0xc], eax
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x6666e203
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0x38], eax
test eax, eax
jne 0x6666cdea
mov dword [esp], 0
mov eax, dword [esp + 0x44]
mov edx, 0xa
lea ecx, [esp + 0x130]
call fcn.666450c0
mov dword [esp + 0x38], eax
test eax, eax
jne 0x6666cdea
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x6666e3f4
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0x38], eax
test eax, eax
jne 0x6666cdea
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp + 0x24]
mov dword [esp + 4], 0
mov dword [esp], 0
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.66652fd0
mov dword [esp + 0x38], eax
test eax, eax
jne 0x6666cdea
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ebx, edi
mov dword [ebp], edi
mov dword [esp + 0x68], esi
mov edi, 0x10
mov esi, ebx
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x98]
mov dword [ebp + 0xc], edx
mov edx, dword [ebp + 0x1c]
mov dword [ebp + 0x10], eax
mov eax, dword [ebp + 0x18]
mov dword [esp + 0x5c], edx
mov dword [esp + 0x58], eax
xor eax, eax
mov ecx, esi
mov edx, eax
imul ecx, eax
shl edx, 5
mov ebx, ecx
sar ebx, 0x1f
add ecx, dword [esp + 0x58]
adc ebx, dword [esp + 0x5c]
add eax, 1
mov dword [ebp + edx + 0x38], ecx
mov dword [ebp + edx + 0x3c], ebx
sub edi, 1
jne 0x6666d77f
mov esi, dword [esp + 0x68]
jmp 0x6666cdea
mov edi, dword [esp + 0x120]
xor edx, edx
mov eax, edi
call fcn.66594040
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_value_blob
mov ebx, eax
test edi, edi
je 0x6666d7d4
mov eax, edi
call fcn.66594000
mov eax, dword [esp + 0x120]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_bytes
mov edi, eax
test ebx, ebx
je 0x6666c1da
mov edx, eax
lea ecx, [esp + 0x130]
lea eax, [esp + 0x114]
call fcn.665ebf30
mov ebp, dword [esp + 0x130]
test ebp, ebp
jne 0x6666c1da
mov eax, dword [esp + 0x114]
mov dword [esp + 8], edi
mov dword [esp + 4], ebx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov dword [esp + 0x118], edi
jmp 0x6666c1da
mov dword [esp + 0xf4], edx
jmp 0x6666c158
mov eax, dword [esp + 0x130]
mov dword [esp + 8], 1
mov dword [esp + 0xc], 0
mov dword [esp + 4], 1
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x118]
mov dword [esp + 8], 0
mov edx, 2
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x114]
mov dword [esp], eax
mov eax, dword [esp + 0x130]
call fcn.665b2d30
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov edi, dword [esp + 0x130]
mov edx, 2
mov ebx, eax
mov eax, edi
call fcn.665b2b50
test eax, eax
jne 0x6666c355
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6666c355
mov dword [esp], eax
call dword [0x6667ce58]
jmp 0x6666c355
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0xfc]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, ebx
mov dword [esp + 8], ebx
cdq
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], 2
mov dword [esp + 0xc], edx
mov dword [esp], eax
mov dword [esp + 0x98], ebx
mov dword [esp + 0x9c], edx
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x6666e54d
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov ebp, eax
test ebp, ebp
jne 0x6666cf20
lea eax, [esp + 0x104]
xor esi, esi
xor ebx, ebx
mov dword [esp + 0x38], eax
lea esi, [esi]
lea esi, [esi]
mov edx, ebx
mov ebx, dword [esp + 0x10c]
mov eax, esi
mov esi, dword [esp + 0x108]
mov ecx, ebx
or ecx, esi
je 0x6666daa0
mov eax, dword [esp + 0x38]
mov dword [esp + 8], 0
mov edx, esi
mov ecx, ebx
mov dword [esp + 0x100], 0
mov dword [esp + 4], eax
lea eax, [esp + 0x100]
mov dword [esp], eax
mov eax, edi
mov dword [esp + 0x104], 0
call fcn.66667c60
mov ebp, eax
test eax, eax
je 0x6666da28
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
jmp 0x6666cf20
lea eax, [esp + 0x108]
mov edx, dword [esp + 0x104]
lea ecx, [esp + 0x130]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, dword [esp + 0x100]
call fcn.665ec260
mov ebp, eax
test eax, eax
jne 0x6666da0d
mov eax, dword [esp + 0x134]
mov edx, esi
mov ecx, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x130]
mov dword [esp], eax
mov eax, edi
call fcn.66652fd0
mov edx, dword [esp + 0x100]
mov ebp, eax
mov dword [esp], edx
call sym.libsqlite3_0.dll_sqlite3_free
test ebp, ebp
je 0x6666d9b0
jmp 0x6666cf20
mov esi, edx
or edx, eax
mov ebx, eax
je 0x6666db50
mov dword [esp], 0
mov ecx, dword [esp + 0x38]
mov edx, 0x11
mov eax, edi
mov dword [esp + 0x104], 0
call fcn.666450c0
mov ebp, eax
test eax, eax
jne 0x6666cf20
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0x7c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, ebx
mov edx, esi
mov dword [esp + 4], 2
add eax, 0xffffffff
mov dword [esp + 8], eax
mov eax, dword [esp + 0x104]
adc edx, 0xffffffff
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x104]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
mov eax, dword [esp + 0x104]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov ebp, eax
test eax, eax
jne 0x6666cf20
mov dword [esp], 0
mov ecx, dword [esp + 0x38]
mov edx, 0x21
mov eax, edi
mov dword [esp + 0x104], 0
call fcn.666450c0
mov ebp, eax
test eax, eax
jne 0x6666cf20
mov eax, dword [esp + 0x104]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], esi
mov dword [esp + 4], 1
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x124]
mov dword [esp + 8], 0
mov edx, 2
mov dword [esp + 4], 0
mov ecx, dword [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0x104]
call fcn.665b2d30
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 3
mov dword [esp + 8], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], 4
mov dword [esp + 8], eax
mov eax, dword [esp + 0x104]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x104]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
mov eax, dword [esp + 0x104]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov ebx, dword [esp + 0x104]
mov edx, 2
mov ebp, eax
mov eax, ebx
call fcn.665b2b50
test eax, eax
jne 0x6666cf20
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6666cf20
mov dword [esp], eax
call dword [0x6667ce58]
jmp 0x6666cf20
mov edx, esi
mov eax, edi
call fcn.666530a0
test eax, eax
jne 0x6666e221
mov ebx, dword [esi]
jmp 0x6666d2f5
cmp dword [esp + 0x58], 0x64
je 0x6666d01c
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0xcc]
jmp 0x6666d1b7
mov esi, dword [esp + 0x38]
mov eax, dword [esi + 0x38]
mov edx, dword [esi + 0x3c]
mov dword [esp + 4], ecx
mov ecx, dword [esi + 0x4c]
mov dword [esp], ecx
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.66652fd0
add dword [esi + 4], 1
mov dword [esp + 0x58], eax
test eax, eax
je 0x6666ddcf
mov eax, dword [esp + 0x38]
add dword [eax + 0x38], 1
mov dword [eax + 0x44], 0
adc dword [eax + 0x3c], 0
xor ecx, ecx
mov dword [eax + 0x50], 0
mov eax, dword [esp + 0x70]
cdq
shrd eax, edx, 7
shr edx, 7
add ecx, 1
mov esi, edx
or esi, eax
jne 0x6666dd02
mov eax, dword [esp + 0x70]
mov ebx, dword [esp + 0xbc]
lea esi, [eax + ecx + 1]
mov ecx, dword [esp + 0xb8]
xor eax, eax
shrd ecx, ebx, 7
shr ebx, 7
add eax, 1
mov edi, ebx
or edi, ecx
jne 0x6666dd2a
add eax, dword [esp + 0x60]
mov ebx, dword [esp + 0x38]
add esi, eax
mov eax, esi
cdq
mov eax, dword [esp + 0x58]
add dword [ebx + 0x28], esi
adc dword [ebx + 0x2c], edx
test eax, eax
je 0x6666eae5
mov eax, dword [esp + 0x58]
mov dword [esp + 0xf4], eax
jmp 0x6666d18f
mov dword [esp + 0xf4], 0
jmp 0x6666ce18
mov ebx, dword [esp + 0x38]
cdq
add dword [ebx + 0x28], eax
adc dword [ebx + 0x2c], edx
cmp dword [ebx + 0x54], esi
jge 0x6666ddb1
mov eax, dword [esp + 0x38]
mov dword [esp + 4], esi
mov eax, dword [eax + 0x4c]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_realloc
test eax, eax
je 0x6666e3b8
mov ebx, dword [esp + 0x38]
mov dword [ebx + 0x54], esi
mov ecx, dword [ebx + 0x50]
mov dword [ebx + 0x4c], eax
test ecx, ecx
jne 0x6666d134
mov eax, dword [esp + 0x38]
mov dword [eax + 0x50], 1
mov eax, dword [eax + 0x4c]
mov byte [eax], 0
jmp 0x6666d134
lea eax, [ebx + 1]
mov ebx, dword [esp + 0x38]
mov dword [esp + 0x68], 1
mov dword [esp + 0x78], eax
mov eax, dword [ebx + 0x38]
mov edx, dword [ebx + 0x3c]
mov dword [esp + 0xe8], edi
mov dword [esp + 0xec], ebp
mov dword [esp + 0xc0], eax
lea eax, [ebx + 0x58]
mov dword [esp + 0xc4], edx
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0xac]
xor esi, esi
mov edx, dword [eax + 0xc]
mov eax, dword [eax + 8]
mov dword [esp + 0xd0], edx
test edx, edx
jle 0x6666e498
mov edx, dword [esp + 0x74]
mov ecx, dword [esp + 0xd0]
jmp 0x6666de47
add esi, 1
cmp ecx, esi
je 0x6666de50
movzx ebx, byte [edx + esi]
cmp byte [eax + esi], bl
je 0x6666de40
mov eax, dword [esp + 0x78]
sub eax, esi
mov dword [esp + 0xb4], eax
test eax, eax
jle 0x6666eb0a
mov eax, esi
mov dword [esp + 0x98], esi
xor ebp, ebp
cdq
mov dword [esp + 0x9c], edx
lea esi, [esi]
nop
shrd eax, edx, 7
shr edx, 7
add ebp, 1
mov ebx, edx
or ebx, eax
jne 0x6666de80
mov eax, dword [esp + 0xb4]
xor ecx, ecx
cdq
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], edx
lea esi, [esi]
nop
shrd eax, edx, 7
shr edx, 7
add ecx, 1
mov edi, edx
or edi, eax
jne 0x6666deb0
mov edx, dword [esp + 0xac]
add ecx, dword [esp + 0xb4]
lea eax, [ecx + ebp]
mov ebx, dword [edx + 0x18]
mov edx, dword [esp + 0xd0]
mov dword [esp + 0xd4], eax
test edx, edx
je 0x6666def8
mov edx, dword [esp + 0x44]
add eax, ebx
cmp eax, dword [edx + 0xe8]
jg 0x6666e603
mov edi, dword [esp + 0x68]
shl edi, 5
add edi, dword [esp + 0x38]
mov eax, dword [edi + 0x54]
test ebx, ebx
je 0x6666e015
add ebx, dword [esp + 0xd4]
cmp ebx, eax
jg 0x6666e0a4
mov eax, dword [esp + 0x68]
mov edx, dword [esp + 0x78]
shl eax, 5
add eax, dword [esp + 0x38]
cmp edx, dword [eax + 0x48]
jg 0x6666e182
mov eax, dword [esp + 0x68]
mov ebx, dword [esp + 0x38]
mov ebp, dword [edi + 0x50]
add ebp, dword [edi + 0x4c]
shl eax, 5
mov dword [esp + 0xac], ebp
mov eax, dword [ebx + eax + 0x44]
test eax, eax
jne 0x6666e114
mov dword [esp + 0xc0], esi
mov eax, dword [esp + 0xac]
mov dword [esp + 0xd0], edi
mov ecx, dword [esp + 0xd8]
mov ebx, dword [esp + 0xdc]
mov edx, ecx
mov byte [esp + 0x98], cl
shrd ecx, ebx, 7
mov ebp, eax
shr ebx, 7
add eax, 1
or edx, 0xffffff80
mov edi, ebx
mov byte [eax - 1], dl
or edi, ecx
jne 0x6666df7c
movzx edx, byte [esp + 0x98]
mov edi, dword [esp + 0xd0]
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xb4]
and edx, 0x7f
sub eax, dword [esp + 0xac]
mov byte [ebp], dl
mov ebp, dword [esp + 0x74]
add eax, dword [edi + 0x50]
mov dword [edi + 0x50], eax
lea edx, [ebp + esi]
add eax, dword [edi + 0x4c]
mov dword [esp], eax
mov dword [esp + 8], ebx
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
add dword [edi + 0x50], ebx
mov ebx, dword [esp + 0x68]
mov edi, dword [esp + 0x78]
shl ebx, 5
add ebx, dword [esp + 0x38]
mov eax, dword [ebx + 0x40]
mov dword [esp + 8], edi
mov dword [esp + 4], ebp
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov dword [ebx + 0x44], edi
jmp 0x6666dce1
mov edx, dword [esp + 0x44]
mov ebx, dword [edx + 0xe8]
mov edx, dword [edi + 0x4c]
cmp ebx, eax
jg 0x6666e4c9
movzx eax, byte [esp + 0x68]
mov ecx, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov byte [edx], al
mov eax, dword [edi + 0x4c]
lea edx, [eax + 1]
mov dword [esp + 0xac], edx
mov eax, ecx
mov byte [esp + 0xc0], cl
shrd ecx, ebx, 7
shr ebx, 7
mov dword [esp + 0xd0], edx
or eax, 0xffffff80
add edx, 1
mov ebp, ebx
or ebp, ecx
mov byte [edx - 1], al
jne 0x6666e04c
movzx eax, byte [esp + 0xc0]
mov ebx, dword [esp + 0xd0]
and eax, 0x7f
mov byte [ebx], al
mov ebx, edx
sub ebx, dword [esp + 0xac]
add ebx, 1
mov eax, dword [edi + 0x54]
mov dword [edi + 0x50], ebx
add ebx, dword [esp + 0xd4]
jmp 0x6666df15
mov edx, dword [0x6667ced0]
mov ebp, dword [edi + 0x4c]
test edx, edx
jne 0x6666e4ea
call fcn.66587320
test eax, eax
jne 0x6666e1f6
call fcn.665cb300
test eax, eax
jne 0x6666e1f6
test ebx, ebx
mov eax, 0
cmovns eax, ebx
cdq
test ebp, ebp
je 0x6666ef80
test ebx, ebx
jle 0x6666e1ee
cmp ebx, 0x7ffffeff
jg 0x6666e1f6
mov ecx, edx
mov edx, eax
mov eax, ebp
call fcn.6658ba80
test eax, eax
je 0x6666e1f6
mov dword [edi + 0x54], ebx
mov dword [edi + 0x4c], eax
jmp 0x6666df1d
mov ecx, dword [esp + 0xac]
movzx ebx, byte [esp + 0x98]
mov ebp, ecx
add ecx, 1
mov edx, dword [esp + 0x9c]
mov eax, ebx
or eax, 0xffffff80
mov byte [ecx - 1], al
mov eax, dword [esp + 0x98]
shrd eax, edx, 7
shr edx, 7
mov dword [esp + 0x9c], edx
mov edx, dword [esp + 0x9c]
mov dword [esp + 0x98], eax
or edx, eax
jne 0x6666e11b
and ebx, 0x7f
sub ecx, dword [esp + 0xac]
mov byte [ebp], bl
add ecx, dword [edi + 0x50]
mov ebp, ecx
add ebp, dword [edi + 0x4c]
mov dword [edi + 0x50], ecx
mov dword [esp + 0xac], ebp
jmp 0x6666df59
mov ebx, dword [eax + 0x40]
mov eax, dword [0x6667ced0]
test eax, eax
jne 0x6666e5f9
call fcn.66587320
test eax, eax
jne 0x6666e1f6
call fcn.665cb300
test eax, eax
jne 0x6666e1f6
mov edx, dword [esp + 0x78]
mov eax, 0
test edx, edx
cmovns eax, edx
cdq
test ebx, ebx
je 0x6666eb00
cmp dword [esp + 0x78], 0x7ffffeff
jg 0x6666e1f6
mov ecx, edx
mov edx, eax
mov eax, ebx
call fcn.6658ba80
test eax, eax
je 0x6666e1f6
mov edx, dword [esp + 0x68]
mov ebx, dword [esp + 0x78]
shl edx, 5
add edx, dword [esp + 0x38]
mov dword [edx + 0x48], ebx
mov dword [edx + 0x40], eax
jmp 0x6666df35
mov dword [esp], ebp
call sym.libsqlite3_0.dll_sqlite3_free
mov dword [esp + 0x58], 7
jmp 0x6666dce1
mov eax, dword [esp + 0x120]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_int
mov edi, eax
jmp 0x6666d6a3
mov ebp, dword [esp + 0x58]
mov esi, dword [esp + 0x74]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x38]
mov edi, dword [esp + 0x48]
mov dword [esp + 0xf4], eax
test edi, edi
je 0x6666d1d1
mov eax, dword [esp + 0x118]
lea ecx, [esp + 0xf4]
lea edx, [eax + 0x14]
lea eax, [esp + 0x114]
call fcn.665ebf30
mov eax, dword [esp + 0xf4]
mov dword [esp + 0xa0], 1
mov dword [esp + 0x38], eax
test eax, eax
jne 0x6666d1c7
mov edi, dword [esp + 0x118]
mov eax, dword [esp + 0x50]
mov dword [esp + 0x60], esi
add edi, dword [esp + 0x114]
mov edx, dword [esp + 0x54]
mov ebx, edi
mov ecx, eax
mov byte [esp + 0x58], al
shrd eax, edx, 7
shr edx, 7
mov dword [esp + 0x38], ebx
or ecx, 0xffffff80
add ebx, 1
mov esi, edx
or esi, eax
mov byte [ebx - 1], cl
jne 0x6666e29b
movzx eax, byte [esp + 0x58]
mov edx, dword [esp + 0x38]
and eax, 0x7f
mov byte [edx], al
mov eax, ebx
sub eax, edi
add eax, dword [esp + 0x118]
mov edi, eax
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x48]
add edi, dword [esp + 0x114]
cdq
mov ebx, edi
mov ecx, eax
mov byte [esp + 0x38], al
shrd eax, edx, 7
shr edx, 7
mov dword [esp + 0x58], ebx
or ecx, 0xffffff80
add ebx, 1
mov esi, edx
or esi, eax
mov byte [ebx - 1], cl
jne 0x6666e2eb
movzx eax, byte [esp + 0x38]
mov edx, dword [esp + 0x58]
mov dword [esp + 0xa0], 1
mov esi, dword [esp + 0x60]
and eax, 0x7f
mov byte [edx], al
mov eax, ebx
sub eax, edi
add dword [esp + 0x118], eax
mov eax, dword [esp + 0xf4]
mov dword [esp + 0x38], eax
jmp 0x6666d1c7
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0x38], eax
jmp 0x6666cdea
mov ecx, dword [0x6667ced0]
test ecx, ecx
jne 0x6666e3ed
call fcn.66587320
test eax, eax
jne 0x6666e3db
call fcn.665cb300
test eax, eax
jne 0x6666e3db
test ebx, ebx
je 0x6666ec79
mov eax, ebx
mov edx, 0xb
xor ecx, ecx
call fcn.6658ba80
mov ebx, eax
test ebx, ebx
je 0x6666e3db
mov dword [ebp + 0x74], 0xb
mov dword [ebp + 0x6c], ebx
jmp 0x6666d5d9
mov eax, dword [esp + 0x70]
mov esi, 1
mov dword [esp + 0x58], eax
jmp 0x6666d0a0
mov ebp, dword [esp + 0x38]
mov esi, dword [esp + 0xcc]
mov dword [esp + 0xf4], 7
mov dword [esp + 0x38], 7
jmp 0x6666d1c7
mov dword [esp + 0x38], 7
mov edi, 1
jmp 0x6666d224
lock or dword [esp], 0
jmp 0x6666e37b
mov eax, dword [esp + 0x130]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_int64
mov ecx, eax
mov ebx, edx
mov dword [ebp + 0x18], eax
mov eax, edi
add ecx, 0xffffffff
mov dword [ebp + 0x1c], edx
adc ebx, 0xffffffff
shl eax, 4
cdq
add eax, ecx
adc edx, ebx
mov dword [ebp + 0x20], eax
mov dword [ebp + 0x24], edx
jmp 0x6666d6fe
mov esi, ebp
mov ebp, dword [esp + 0x60]
mov ecx, dword [esi + 0x24c]
test ecx, ecx
jle 0x6666e459
mov eax, dword [esi + 0x248]
mov eax, dword [eax + ebp*4]
add ebp, 1
call fcn.665fc5d0
cmp ebp, dword [esi + 0x24c]
jl 0x6666e440
mov eax, dword [esi + 0x248]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esi + 0x258]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov dword [esi + 0x24c], 0
mov dword [esi + 0x248], 0
mov dword [esi + 0x258], 0
jmp 0x6666c306
mov eax, dword [esp + 0x78]
mov edx, dword [esp + 0xec]
mov ebp, 1
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
jmp 0x6666de90
mov dword [esp], edx
mov dword [esp + 4], ebx
call sym.libsqlite3_0.dll_sqlite3_realloc
mov edx, eax
test eax, eax
je 0x6666e1f6
mov dword [edi + 0x54], ebx
mov dword [edi + 0x4c], eax
jmp 0x6666e02a
lock or dword [esp], 0
jmp 0x6666e0cf
mov eax, dword [esp + 0x98]
mov edx, dword [esp + 0x9c]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x6666e798
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
jmp 0x6666d590
mov ebx, dword [esp + 0xfc]
mov edx, 4
mov eax, ebx
call fcn.66594040
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_value_blob
mov esi, eax
test ebx, ebx
je 0x6666e575
mov eax, ebx
call fcn.66594000
mov eax, dword [esp + 0xfc]
mov dword [esp + 4], 4
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_bytes
mov dword [esp + 4], 1
mov ebx, eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_int64
lea ecx, [esp + 0x120]
mov dword [esp + 0x78], eax
lea eax, [esp + 0x108]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [esp + 0x7c], edx
mov edx, ebx
mov dword [esp + 4], eax
mov eax, dword [esp + 0x68]
mov dword [esp], eax
mov eax, esi
call fcn.665ec260
mov ebx, eax
mov eax, dword [esp + 0xfc]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov ebp, eax
test ebx, ebx
je 0x6666d98f
mov ebp, ebx
jmp 0x6666cf20
lock or dword [esp], 0
jmp 0x6666e1a4
mov edi, dword [esp + 0xac]
mov eax, dword [edi]
mov edx, dword [edi + 4]
mov dword [esp + 4], ebx
mov ecx, dword [edi + 0x14]
mov dword [esp], ecx
mov ecx, edx
mov edx, eax
mov eax, dword [esp + 0x44]
call fcn.66652fd0
movzx ebx, byte [esp + 0x68]
mov edx, dword [esp + 0xc4]
mov ebp, eax
mov eax, dword [edi + 0x14]
mov byte [eax], bl
mov eax, dword [edi + 0x14]
lea ebx, [eax + 1]
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0xc0]
mov esi, ebx
add eax, 1
adc edx, 0
mov ecx, eax
mov byte [esp + 0xb4], al
shrd eax, edx, 7
shr edx, 7
mov dword [esp + 0x98], esi
or ecx, 0xffffff80
add esi, 1
mov edi, edx
or edi, eax
mov byte [esi - 1], cl
jne 0x6666e655
mov edi, dword [esp + 0xac]
movzx eax, byte [esp + 0xb4]
sub esi, ebx
mov edx, dword [esp + 0x98]
add esi, 1
and eax, 0x7f
mov byte [edx], al
mov ebx, dword [edi]
mov dword [edi + 0x18], esi
mov esi, dword [edi + 4]
mov eax, ebx
mov dword [esp + 0xc0], ebx
add eax, 1
mov edx, esi
mov dword [esp + 0xc4], esi
adc edx, 0
mov dword [edi], eax
mov dword [edi + 4], edx
mov dword [edi + 0xc], 0
test ebp, ebp
jne 0x6666eadc
mov edx, esi
or edx, ebx
je 0x6666e6f1
add dword [esp + 0x68], 1
mov eax, dword [esp + 0x68]
add edi, 0x20
mov dword [esp + 0xac], edi
cmp eax, 0x10
jne 0x6666de0e
mov dword [esp + 0x58], 0
jmp 0x6666dce1
mov ecx, ebp
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x58]
test ecx, ecx
jne 0x6666e788
mov dword [esp + 0x38], 0
mov eax, dword [esp + 0x48]
cmp dword [ebp + 0x24c], eax
je 0x6666e22d
mov dword [esp], 0
mov eax, dword [esp + 0x44]
mov edx, 0x23
xor edi, edi
lea ecx, [esp + 0x120]
mov dword [esp + 0x120], 0
mov dword [esp + 0x130], 0
call fcn.666450c0
mov ebx, eax
test eax, eax
je 0x6666ec8c
mov dword [esp + 0x38], ebx
mov eax, dword [esp + 0x44]
mov byte [eax + 0xf0], 0
mov dword [esp], edi
call sym.libsqlite3_0.dll_sqlite3_free
jmp 0x6666e22d
mov ecx, ebp
mov esi, dword [esp + 0x74]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x38], ecx
jmp 0x6666e22d
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0xfc], eax
test eax, eax
jne 0x6666d597
lea eax, [esp + 0x108]
mov dword [esp + 8], 0
mov edx, dword [esp + 0x78]
mov dword [esp + 4], eax
mov ecx, dword [esp + 0x7c]
lea eax, [esp + 0x104]
mov dword [esp], eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
call fcn.66667c60
mov dword [esp + 0xfc], eax
test eax, eax
je 0x6666ebdc
mov eax, dword [esp + 0x104]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0xfc]
test eax, eax
jne 0x6666d597
test bl, bl
je 0x6666d597
mov eax, dword [esp + 0x68]
movsx edi, byte [eax]
lea eax, [edi - 1]
mov dword [esp + 0x78], eax
cmp eax, 0xe
ja 0x6666ebb5
mov eax, dword [esp + 0x120]
mov ebx, dword [esp + 0x124]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x74], eax
add eax, 1
sub eax, dword [esp + 0x38]
lea ecx, [eax + 0xf]
mov dword [ebp + 0x1c], edx
mov edx, dword [esp + 0x54]
cmovs eax, ecx
mov dword [ebp + 0x24], ebx
lea ebx, [edi + 1]
mov dword [ebp + 0xc], edx
mov ecx, eax
mov eax, dword [esp + 0x38]
sar ecx, 4
mov dword [ebp + 0x18], eax
mov eax, dword [esp + 0x74]
mov dword [ebp], ecx
mov dword [ebp + 0x20], eax
mov eax, dword [esp + 0x50]
mov dword [ebp + 8], eax
mov eax, dword [esp + 0x70]
mov dword [ebp + 0x10], eax
cmp ebx, 0xf
jg 0x6666e8d6
mov dword [esp + 0x70], esi
mov eax, ebx
shl eax, 5
mov esi, eax
mov eax, ecx
imul eax, ebx
cdq
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
add ebx, 1
mov dword [ebp + esi + 0x38], eax
mov dword [ebp + esi + 0x3c], edx
cmp ebx, 0x10
jne 0x6666e8ad
mov esi, dword [esp + 0x70]
mov eax, ecx
mov ebx, edi
mov ecx, dword [esp + 0x44]
imul eax, edi
shl ebx, 5
add ebx, ebp
cdq
add eax, dword [esp + 0x38]
adc edx, dword [esp + 0x3c]
mov dword [ebx + 0x38], eax
lea eax, [edi + 2]
shl eax, 5
mov dword [ebx + 0x3c], edx
mov edx, dword [esp + 0x58]
cmp dword [ecx + 0xe8], edx
cmovge edx, dword [ecx + 0xe8]
mov dword [esp + 0x70], eax
lea ecx, [esp + 0xfc]
lea eax, [ebp + eax + 0xc]
add edx, 0x14
call fcn.665ebf30
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x6666eb17
test edi, edi
js 0x6666d597
mov eax, dword [esp + 0x78]
mov ebx, dword [esp + 0x70]
mov dword [esp + 0x38], eax
add ebx, ebp
jmp 0x6666e96c
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
cmp dword [esp + 0x38], 0xffffffff
je 0x6666d597
sub dword [esp + 0x38], 1
sub ebx, 0x20
mov eax, dword [esp + 0xfc]
test eax, eax
jne 0x6666d597
mov edx, dword [ebx + 0xc]
test edx, edx
je 0x6666e94a
mov ecx, dword [ebx + 0x10]
lea eax, [esp + 0x130]
call fcn.665ec1e0
mov edi, dword [esp + 0x130]
mov dword [esp + 0xfc], eax
test edi, edi
jne 0x6666e9c6
jmp 0x6666e9ca
lea eax, [esp + 0x130]
call fcn.665ebfe0
mov edx, dword [esp + 0x130]
mov dword [esp + 0xfc], eax
test edx, edx
je 0x6666e9ca
test eax, eax
je 0x6666e9a8
mov edx, dword [esp + 0x14c]
lea ecx, [esp + 0xfc]
mov eax, ebx
call fcn.665ebf30
mov ecx, dword [esp + 0xfc]
test ecx, ecx
jne 0x6666e94a
mov eax, dword [esp + 0x14c]
test eax, eax
jle 0x6666ea19
mov edx, dword [ebx]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x148]
mov dword [esp], edx
mov dword [esp + 4], eax
call sub.msvcrt.dll_memcpy
mov eax, dword [esp + 0x14c]
cmp dword [esp + 0x38], 0xffffffff
mov dword [ebx + 4], eax
je 0x6666eba1
mov eax, dword [esp + 0x140]
mov edx, dword [esp + 0x144]
lea edi, [esp + 0x108]
mov dword [esp + 0x104], 0
mov dword [esp + 0x108], 0
mov dword [ebx - 0x28], eax
mov ecx, edx
mov dword [ebx - 0x24], edx
mov edx, eax
mov dword [esp + 4], edi
mov edi, dword [esp + 0x98]
mov dword [esp + 8], 0
mov dword [esp], edi
mov edi, dword [esp + 0x44]
mov eax, edi
call fcn.66667c60
lea ecx, [esp + 0xfc]
mov dword [esp + 0xfc], eax
mov eax, dword [esp + 0x108]
cmp dword [edi + 0xe8], eax
cmovge eax, dword [edi + 0xe8]
lea edx, [eax + 0x14]
lea eax, [ebx - 0x14]
call fcn.665ebf30
mov eax, dword [esp + 0xfc]
test eax, eax
je 0x6666eb63
mov eax, dword [esp + 0x104]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
jmp 0x6666e964
mov dword [esp + 0x58], ebp
jmp 0x6666dce1
mov eax, dword [esp + 0x38]
cmp esi, dword [eax + 0x54]
jle 0x6666ddb9
jmp 0x6666dd89
call fcn.6658bcf0
jmp 0x6666e1d0
mov dword [esp + 0x58], 0x10b
jmp 0x6666dce1
mov eax, dword [ebx + 0x4c]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x68]
mov dword [esp + 8], edx
mov dword [esp + 4], ecx
mov dword [esp], eax
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x58]
mov dword [ebx + 0x50], edx
add edx, dword [ebx + 0x4c]
mov dword [edx], 0
mov dword [edx + 4], 0
mov dword [edx + 8], 0
mov dword [edx + 0xc], 0
mov dword [edx + 0x10], 0
jmp 0x6666e932
mov edx, dword [esp + 0x108]
mov eax, dword [ebx - 0x14]
mov dword [esp + 8], edx
mov edx, dword [esp + 0x104]
mov dword [esp], eax
mov dword [esp + 4], edx
call sub.msvcrt.dll_memcpy
mov edx, dword [esp + 0x108]
mov ecx, 5
xor eax, eax
mov dword [ebx - 0x10], edx
add edx, dword [ebx - 0x14]
mov edi, edx
rep stosd dword es:[edi], eax
jmp 0x6666eab9
mov eax, dword [esp + 0x148]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_free
jmp 0x6666d597
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov dword [esp + 0x38], 0x10b
mov dword [esp + 0xf4], 0x10b
jmp 0x6666d1c7
mov ecx, dword [esp + 0x108]
mov edx, dword [esp + 0x104]
lea eax, [esp + 0x130]
call fcn.665ec1e0
mov dword [esp + 0xfc], eax
test eax, eax
je 0x6666ec1f
jmp 0x6666ec2a
lea eax, [esp + 0x130]
call fcn.665ebfe0
mov dword [esp + 0xfc], eax
test eax, eax
jne 0x6666ec2a
mov eax, dword [esp + 0x130]
test eax, eax
jne 0x6666ec08
mov ebx, dword [esp + 0x14c]
mov edx, dword [esp + 0x148]
cmp edi, ebx
mov eax, ebx
cmovle eax, edi
test eax, eax
je 0x6666ec63
mov dword [esp + 8], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 4], edx
mov dword [esp], eax
mov dword [esp + 0x78], edx
call sub.msvcrt.dll_memcmp
mov edx, dword [esp + 0x78]
test eax, eax
jne 0x6666ec67
mov eax, edi
sub eax, ebx
mov dword [esp], edx
test eax, eax
setg bl
call sym.libsqlite3_0.dll_sqlite3_free
jmp 0x6666e810
mov eax, 0xb
xor edx, edx
call fcn.6658bcf0
mov ebx, eax
jmp 0x6666e393
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [esp + 0x120]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov dword [esp + 0x38], 0
jmp 0x6666ed64
call fcn.66587320
test eax, eax
jne 0x6666ed9d
call fcn.665cb300
test eax, eax
jne 0x6666ed9d
add ebx, 0x10
mov eax, 0
mov ecx, ebx
shl ecx, 2
cmovns eax, ecx
cdq
test edi, edi
je 0x6666ef68
test ecx, ecx
jle 0x6666ed95
cmp ecx, 0x7ffffeff
jg 0x6666ed9d
mov ecx, edx
mov edx, eax
mov eax, edi
call fcn.6658ba80
test eax, eax
je 0x6666ed9d
mov edi, eax
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x120]
xor edx, edx
lea eax, [edi + eax*4]
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], eax
mov eax, ecx
call fcn.66594040
call fcn.6658cc70
mov ecx, dword [esp + 0x60]
mov edx, eax
test ecx, ecx
je 0x6666ed59
mov dword [esp + 0x60], eax
mov eax, ecx
call fcn.66594000
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x58]
add dword [esp + 0x38], 1
mov dword [eax], edx
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
jne 0x6666edb6
cmp dword [esp + 0x38], ebx
jl 0x6666ed1c
mov eax, dword [0x6667ced0]
test eax, eax
je 0x6666ecc0
lock or dword [esp], 0
jmp 0x6666ecda
mov dword [esp], edi
call sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x120]
mov ebx, 7
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
jmp 0x6666e762
mov eax, dword [esp + 0x120]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov ebx, eax
test eax, eax
jne 0x6666e762
mov dword [esp], 0
mov eax, dword [esp + 0x44]
mov edx, 0x1f
lea ecx, [esp + 0x130]
call fcn.666450c0
mov ebx, eax
test eax, eax
jne 0x6666e762
mov ebx, dword [esp + 0x54]
mov ecx, dword [esp + 0x50]
mov dword [esp + 4], 2
mov eax, dword [esp + 0x130]
mov dword [esp + 0xc], ebx
mov dword [esp + 8], ecx
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [esp + 0x44]
mov ebx, dword [esp + 0x38]
mov byte [eax + 0xf0], 1
test ebx, ebx
je 0x6666ef72
xor eax, eax
mov dword [esp + 0x60], esi
mov dword [esp + 0x58], 0
mov esi, eax
mov dword [esp + 0x5c], 0
jmp 0x6666eebd
mov ebx, dword [esp + 0x130]
mov edx, 3
mov eax, ebx
call fcn.665b2b50
mov ecx, dword [esp + 0x68]
test eax, eax
je 0x6666ef1d
mov ebx, dword [esp + 0x130]
mov edx, 1
mov eax, ebx
call fcn.665b2b50
test eax, eax
je 0x6666eee1
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
mov eax, dword [esp + 0x130]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
test eax, eax
sete dl
add esi, 1
add dword [esp + 0x58], 1
adc dword [esp + 0x5c], 0
cmp dword [esp + 0x38], esi
jle 0x6666eed4
test dl, dl
je 0x6666eed4
mov ecx, dword [edi + esi*4]
cmp ecx, esi
mov dword [esp + 0x68], ecx
jne 0x6666ee4d
movzx edx, byte [esp + 0xb3]
xor eax, eax
jmp 0x6666eea6
mov dword [esp + 0x38], eax
mov esi, dword [esp + 0x60]
jmp 0x6666e766
mov eax, dword [ebx + 0x64]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x5c]
test word [eax + 8], 0x2400
jne 0x6666ef57
mov dword [eax], edx
mov edx, 4
mov dword [eax + 4], ecx
mov word [eax + 8], dx
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6666ee83
mov dword [esp], eax
call dword [0x6667ce58]
jmp 0x6666ee83
mov eax, dword [ebx + 0x64]
mov edx, ecx
sar ecx, 0x1f
test word [eax + 0x58], 0x2400
jne 0x6666ef5e
mov dword [eax + 0x54], ecx
mov ecx, 4
mov dword [eax + 0x50], edx
mov word [eax + 0x58], cx
mov eax, dword [ebx]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x6666ee6c
mov dword [esp], eax
call dword [0x6667ce58]
jmp 0x6666ee6c
call fcn.665928a0
jmp 0x6666ef02
add eax, 0x50
call fcn.665928a0
jmp 0x6666ef3c
call fcn.6658bcf0
jmp 0x6666ed12
mov dword [esp + 0x38], 0
jmp 0x6666e766
call fcn.6658bcf0
jmp 0x6666e101
test edx, edx
jne 0x6666e724
mov dword [esp + 0xf4], 0
mov dword [esp + 0x38], 0
jmp 0x6666d1d1
mov eax, dword [esp + 0x100]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov eax, dword [esp + 0x58]
test eax, eax
jne 0x6666e3c3
mov dword [esp + 0xf4], 0x10b
mov dword [esp + 0x38], 0x10b
jmp 0x6666d1c7
jmp 0x6667a02d
mov eax, dword [0x28]
ud2