Function at 0x100f6020
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x54
push ebx
push esi
mov esi, edx
mov ebx, ecx
push edi
xor edi, edi
mov dword [esp + 0x30], esi
mov dword [esp + 0x10], ebx
mov eax, dword [esi + 4]
mov ecx, dword [ebx]
mov dword [esp + 0x14], edi
lea edx, [eax - 1]
mov dword [esp + 0x4c], edx
mov edx, dword [esi + 8]
mov dword [esp + 0x28], edx
test eax, eax
je 0x100f760e
push dword [esi]
push dword [ecx + 8]
push dword [ecx + 4]
push str.SELECT_segid__term___pgno__1____pgno1__FROM__Q._q_idx_WHERE_segid_d_ORDER_BY_1__2
call sym.sqlite3.dll_sqlite3_mprintf
add esp, 0x10
mov esi, eax
cmp dword [ebx + 0x24], edi
jne 0x100f60a7
test esi, esi
je 0x100f609e
mov ecx, dword [ebx]
lea eax, [esp + 0x14]
push edi
push eax
push edi
mov ecx, dword [ecx]
mov edx, esi
push 0x85
push 0xffffffffffffffff
call fcn.10071fd0
mov edi, dword [esp + 0x28]
add esp, 0x14
mov dword [ebx + 0x24], eax
jmp 0x100f60ab
mov dword [ebx + 0x24], 7
jmp 0x100f6103
test esi, esi
je 0x100f6103
cmp dword [0x1011d0f8], 0
je 0x100f60f9
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f60c7
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f6103
push eax
call dword [0x1011d150]
jmp 0x100f6100
push esi
call dword [0x1011d11c]
add esp, 4
cmp dword [ebx + 0x24], 0
jne 0x100f7573
mov esi, dword [esp + 0x14]
push esi
call sym.sqlite3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x100f756f
test esi, esi
je 0x100f616e
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f613a
push eax
call dword [0x1011d148]
add esp, 4
mov esi, dword [esi + 0x80]
mov edi, dword [esp + 0x14]
test esi, esi
je 0x100f615b
mov eax, 1
cmp ax, word [edi + 0x98]
jae 0x100f615b
add esi, 0x28
jmp 0x100f6173
mov ecx, dword [edi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov esi, 0x10114728
movzx ecx, word [esi + 8]
test cl, 0x12
je 0x100f61a3
test ecx, 0x4000
je 0x100f6193
mov ecx, esi
call fcn.10027940
test eax, eax
je 0x100f6193
xor edi, edi
jmp 0x100f61d0
or word [esi + 8], 0x10
cmp dword [esi + 0xc], 0
je 0x100f61c1
mov edi, dword [esi + 0x10]
jmp 0x100f61d0
mov eax, ecx
and eax, 0x202
cmp eax, 0x202
jne 0x100f61bc
cmp byte [esi + 0xa], 1
jne 0x100f61bc
mov edi, dword [esi + 0x10]
jmp 0x100f61d0
test cl, 1
je 0x100f61c5
xor edi, edi
jmp 0x100f61d0
mov dl, 1
mov ecx, esi
call fcn.100289d0
mov edi, eax
mov esi, dword [esp + 0x14]
test esi, esi
je 0x100f624d
mov eax, dword [esi]
mov edx, dword [esi + 0x28]
cmp byte [eax + 0x53], 0
jne 0x100f61eb
test edx, edx
jne 0x100f61eb
xor ecx, ecx
jmp 0x100f61f6
mov ecx, eax
call fcn.10005460
mov ecx, eax
mov eax, dword [esi]
mov dword [esi + 0x28], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f620a
push eax
call dword [0x1011d150]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f621d
push eax
call dword [0x1011d148]
add esp, 4
mov ecx, dword [esi + 0x80]
test ecx, ecx
je 0x100f623a
mov eax, 1
cmp ax, word [esi + 0x98]
jae 0x100f623a
add ecx, 0x28
jmp 0x100f6252
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov ecx, 0x10114728
movzx eax, word [ecx + 8]
test al, 2
je 0x100f6265
cmp byte [ecx + 0xa], 1
jne 0x100f6265
mov eax, dword [ecx + 0xc]
jmp 0x100f6294
test al, 0x10
je 0x100f627f
mov edx, dword [ecx + 0xc]
test eax, 0x4000
je 0x100f6279
mov eax, dword [ecx]
add eax, edx
jmp 0x100f6294
mov dword [esp + 0x1c], edx
jmp 0x100f6298
test al, 1
je 0x100f628d
mov dword [esp + 0x1c], 0
jmp 0x100f6298
mov dl, 1
call fcn.10028f90
mov dword [esp + 0x1c], eax
test esi, esi
je 0x100f6311
mov ecx, dword [esi]
mov edx, dword [esi + 0x28]
cmp byte [ecx + 0x53], 0
jne 0x100f62af
test edx, edx
jne 0x100f62af
xor eax, eax
jmp 0x100f62b6
call fcn.10005460
mov ecx, dword [esi]
mov dword [esi + 0x28], eax
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100f62ca
push eax
call dword [0x1011d150]
add esp, 4
test esi, esi
je 0x100f6311
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f62e1
push eax
call dword [0x1011d148]
add esp, 4
mov ecx, dword [esi + 0x80]
test ecx, ecx
je 0x100f62fe
mov eax, 2
cmp ax, word [esi + 0x98]
jae 0x100f62fe
add ecx, 0x50
jmp 0x100f6316
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov ecx, 0x10114728
movzx eax, word [ecx + 8]
test al, 0x24
je 0x100f6326
mov edx, dword [ecx]
mov dword [esp + 0x18], edx
jmp 0x100f6357
test al, 8
je 0x100f6335
movsd xmm0, qword [ecx]
call fcn.10027da0
jmp 0x100f6353
test al, 0x12
je 0x100f6346
cmp dword [ecx + 0x10], 0
je 0x100f6346
call fcn.10027dd0
jmp 0x100f6353
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x18], eax
test esi, esi
je 0x100f63d0
mov eax, dword [esi]
mov edx, dword [esi + 0x28]
cmp byte [eax + 0x53], 0
jne 0x100f636e
test edx, edx
jne 0x100f636e
xor ecx, ecx
jmp 0x100f6379
mov ecx, eax
call fcn.10005460
mov ecx, eax
mov eax, dword [esi]
mov dword [esi + 0x28], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f638d
push eax
call dword [0x1011d150]
add esp, 4
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f63a0
push eax
call dword [0x1011d148]
add esp, 4
mov ecx, dword [esi + 0x80]
test ecx, ecx
je 0x100f63bd
mov eax, 3
cmp ax, word [esi + 0x98]
jae 0x100f63bd
add ecx, 0x78
jmp 0x100f63d5
mov ecx, dword [esi]
mov edx, 0x19
mov dword [ecx + 0x40], 0x19
call fcn.10008a20
mov ecx, 0x10114728
movzx eax, word [ecx + 8]
test al, 0x24
je 0x100f63e9
mov esi, dword [ecx]
mov dword [esp + 0x2c], esi
mov esi, dword [esp + 0x14]
jmp 0x100f641a
test al, 8
je 0x100f63f8
movsd xmm0, qword [ecx]
call fcn.10027da0
jmp 0x100f6416
test al, 0x12
je 0x100f6409
cmp dword [ecx + 0x10], 0
je 0x100f6409
call fcn.10027dd0
jmp 0x100f6416
xorps xmm0, xmm0
movlpd qword [esp + 0x50], xmm0
mov eax, dword [esp + 0x50]
mov dword [esp + 0x2c], eax
test esi, esi
je 0x100f6450
mov eax, dword [esi]
mov edx, dword [esi + 0x28]
cmp byte [eax + 0x53], 0
jne 0x100f6431
test edx, edx
jne 0x100f6431
xor ecx, ecx
jmp 0x100f643c
mov ecx, eax
call fcn.10005460
mov ecx, eax
mov eax, dword [esi]
mov dword [esi + 0x28], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100f6450
push eax
call dword [0x1011d150]
add esp, 4
mov eax, dword [esp + 0x30]
mov edx, dword [esp + 0x18]
cmp edx, dword [eax + 4]
jl 0x100f7565
mov eax, dword [eax]
xor esi, esi
cdq
mov ecx, eax
mov eax, dword [esp + 0x18]
shl ecx, 5
cdq
add esi, eax
adc ecx, edx
push ecx
push esi
mov ecx, ebx
call fcn.100e9670
mov esi, eax
add esp, 8
mov dword [esp + 0x34], esi
test esi, esi
je 0x100f756f
mov eax, dword [esi + 8]
mov dword [esp + 0x40], eax
cmp dword [esi + 4], eax
jg 0x100f64a6
mov dword [ebx + 0x24], 0x10b
jmp 0x100f6572
mov esi, dword [esi]
lea edx, [esp + 0x38]
lea ecx, [esi + eax]
call fcn.101035d0
movzx ecx, byte [esi]
movzx eax, byte [esi + 1]
shl ecx, 8
add ecx, eax
mov eax, dword [esp + 0x38]
cmp ecx, eax
jge 0x100f655e
cmp eax, dword [esp + 0x40]
jge 0x100f655e
lea ecx, [esi + eax]
lea edx, [esp + 0x3c]
call fcn.101035d0
add eax, dword [esp + 0x38]
mov edx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x3c]
cmp ecx, edx
cmovl edx, ecx
test edx, edx
jle 0x100f6554
lea ecx, [esi + eax]
sub edx, 4
jb 0x100f6511
nop
mov eax, dword [ecx]
cmp eax, dword [edi]
jne 0x100f6516
add ecx, 4
add edi, 4
sub edx, 4
jae 0x100f6500
cmp edx, 0xfffffffc
je 0x100f654a
mov al, byte [ecx]
cmp al, byte [edi]
jne 0x100f6543
cmp edx, 0xfffffffd
je 0x100f654a
mov al, byte [ecx + 1]
cmp al, byte [edi + 1]
jne 0x100f6543
cmp edx, 0xfffffffe
je 0x100f654a
mov al, byte [ecx + 2]
cmp al, byte [edi + 2]
jne 0x100f6543
cmp edx, 0xffffffff
je 0x100f654a
mov al, byte [ecx + 3]
cmp al, byte [edi + 3]
je 0x100f654a
sbb eax, eax
or eax, 1
jmp 0x100f654c
xor eax, eax
test eax, eax
jne 0x100f655c
mov ecx, dword [esp + 0x3c]
mov eax, ecx
sub eax, dword [esp + 0x1c]
test eax, eax
jns 0x100f6565
mov dword [ebx + 0x24], 0x10b
mov esi, dword [esp + 0x34]
mov ecx, ebx
mov edx, esi
call fcn.100f5ca0
cmp dword [0x1011d0f8], 0
je 0x100f65c0
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f658e
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f65ca
push eax
call dword [0x1011d150]
jmp 0x100f65c7
push esi
call dword [0x1011d11c]
add esp, 4
cmp dword [ebx + 0x24], 0
jne 0x100f756f
mov eax, dword [esp + 0x4c]
xor ecx, ecx
mov edx, dword [esp + 0x18]
inc eax
dec edx
mov dword [esp + 0x20], eax
mov dword [esp + 0x50], edx
cmp eax, edx
jg 0x100f6a9b
mov eax, dword [esp + 0x30]
xor esi, esi
mov eax, dword [eax]
cdq
mov ebx, eax
mov eax, dword [esp + 0x20]
shl ebx, 5
cdq
add esi, eax
mov dword [esp + 0x24], esi
adc ebx, edx
mov dword [esp + 0x34], ebx
test ecx, ecx
jne 0x100f6a7a
mov ecx, dword [esp + 0x10]
xor edi, edi
mov esi, dword [ecx + 0x28]
lea ebx, [ecx + 0x28]
mov dword [esp + 0x40], ebx
test esi, esi
je 0x100f6743
push dword [esp + 0x34]
mov dword [ebx], edi
push dword [esp + 0x28]
push esi
call sym.sqlite3.dll_sqlite3_blob_reopen
mov edi, eax
mov dword [ebx], esi
add esp, 0xc
test edi, edi
je 0x100f673f
mov dword [ebx], 0
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x4c], eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f666f
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [ebx + 0x210], 0
je 0x100f6686
mov edx, esi
mov ecx, ebx
call fcn.10004c70
jmp 0x100f6716
cmp esi, dword [ebx + 0x164]
jae 0x100f66be
cmp esi, dword [ebx + 0x15c]
jb 0x100f66a6
mov eax, dword [ebx + 0x158]
mov dword [esi], eax
mov dword [ebx + 0x158], esi
jmp 0x100f6716
cmp esi, dword [ebx + 0x160]
jb 0x100f66be
mov eax, dword [ebx + 0x150]
mov dword [esi], eax
mov dword [ebx + 0x150], esi
jmp 0x100f6716
cmp dword [0x1011d0f8], 0
je 0x100f670c
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f66da
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f6716
push eax
call dword [0x1011d150]
jmp 0x100f6713
push esi
call dword [0x1011d11c]
add esp, 4
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f6727
push eax
call dword [0x1011d150]
add esp, 4
push dword [esp + 0x4c]
call sym.sqlite3.dll_sqlite3_finalize
mov ebx, dword [esp + 0x44]
xor eax, eax
add esp, 4
cmp edi, 4
cmove edi, eax
mov ecx, dword [esp + 0x10]
cmp dword [ebx], 0
jne 0x100f676f
test edi, edi
jne 0x100f676f
mov eax, dword [ecx]
push ebx
push edi
push dword [esp + 0x3c]
push dword [esp + 0x30]
push str.block
push dword [ecx + 4]
push dword [eax + 4]
push dword [eax]
call sym.sqlite3.dll_sqlite3_blob_open
add esp, 0x20
mov edi, eax
cmp edi, 1
jne 0x100f6787
mov ebx, dword [esp + 0x10]
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], 0x10b
jmp 0x100f6a7e
test edi, edi
jne 0x100f6a6e
mov eax, dword [ebx]
test eax, eax
je 0x100f679e
cmp dword [eax + 0x10], edi
je 0x100f679e
mov edi, dword [eax]
jmp 0x100f67a0
xor edi, edi
mov dword [esp + 0x24], edi
call sym.sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x100f6a69
lea eax, [edi + 0x20]
push 0
push eax
call fcn.100049e0
mov esi, eax
add esp, 8
test esi, esi
je 0x100f6a69
lea eax, [esi + 0xc]
mov dword [esi + 4], edi
mov dword [esi], eax
mov edi, dword [ebx]
mov dword [esp + 0x34], edi
test edi, edi
jne 0x100f6803
push 0x10110a2c
push 0x1754c
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov edi, 0x15
jmp 0x100f6924
mov ebx, dword [edi + 0x14]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f6817
push eax
call dword [0x1011d148]
add esp, 4
mov edx, dword [esp + 0x24]
mov eax, dword [edi + 0x10]
mov dword [esp + 0x40], eax
test edx, edx
js 0x100f68e9
cmp edx, dword [edi]
jg 0x100f68e9
test eax, eax
jne 0x100f683e
lea edi, [eax + 4]
jmp 0x100f68ee
mov eax, dword [edi + 0xc]
mov ecx, dword [eax + 8]
cmp byte [ecx + 9], 0
je 0x100f685c
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x100f685c
call fcn.1001a2d0
mov edx, dword [esp + 0x24]
mov ecx, dword [edi + 0xc]
mov eax, dword [edi + 4]
lea edi, [esi + 0xc]
cmp byte [ecx], 0
jne 0x100f687a
push 0
push edi
push edx
mov edx, eax
call fcn.1001ed50
add esp, 0xc
jmp 0x100f6886
push edi
push edx
mov edx, eax
call fcn.1001f0e0
add esp, 8
mov edi, eax
mov eax, dword [esp + 0x34]
mov ecx, edi
mov dword [esp + 0x1c], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
cmp byte [eax + 9], 0
je 0x100f68ad
add dword [eax + 0xc], 0xffffffff
jne 0x100f68ad
mov ecx, eax
call fcn.1001a290
mov ecx, edi
cmp edi, 4
jne 0x100f68cf
mov ecx, dword [esp + 0x40]
call fcn.1002cd80
mov eax, dword [esp + 0x34]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x1c]
mov dword [ebx + 0x40], eax
jmp 0x100f68f1
mov eax, dword [esp + 0x40]
mov dword [eax + 0x28], edi
mov edi, ecx
mov dword [ebx + 0x40], ecx
test ecx, ecx
jne 0x100f68f1
cmp dword [ebx + 0x124], ecx
je 0x100f68fa
jmp 0x100f68f1
mov edi, 1
mov dword [ebx + 0x40], edi
mov edx, edi
mov ecx, ebx
call fcn.10008a20
cmp byte [ebx + 0x53], 0
jne 0x100f6904
test edi, edi
je 0x100f690f
mov edx, edi
mov ecx, ebx
call fcn.10005460
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f6920
push eax
call dword [0x1011d150]
add esp, 4
test edi, edi
je 0x100f699f
cmp dword [0x1011d0f8], 0
je 0x100f6986
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f6940
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f6a6e
push eax
call dword [0x1011d150]
mov ebx, dword [esp + 0x14]
add esp, 4
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], edi
jmp 0x100f6a7e
push esi
call dword [0x1011d11c]
mov ebx, dword [esp + 0x14]
add esp, 4
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], edi
jmp 0x100f6a7e
mov eax, dword [esi]
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x10]
mov byte [ecx + eax], 0
mov eax, dword [esi]
mov byte [eax + ecx + 1], 0
mov eax, dword [esi]
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
add ecx, eax
mov dword [esi + 8], ecx
mov ecx, edi
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], edi
mov edi, 0x10b
mov eax, dword [esi + 8]
cmp eax, dword [esi + 4]
mov eax, dword [esp + 0x28]
cmovl ecx, edi
inc eax
mov dword [ebx + 0x24], ecx
cmp dword [esp + 0x20], eax
jl 0x100f6a0c
mov edx, dword [esi]
mov eax, 0x100
movzx ecx, byte [edx]
imul ecx, eax
movzx eax, byte [edx + 1]
xor edx, edx
add cx, ax
mov eax, dword [ebx + 0x24]
cmp dx, cx
cmovne eax, edi
mov dword [ebx + 0x24], eax
cmp dword [0x1011d0f8], 0
je 0x100f6a5d
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f6a28
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f6a7e
push eax
call dword [0x1011d150]
add esp, 4
jmp 0x100f6a7e
push esi
call dword [0x1011d11c]
add esp, 4
jmp 0x100f6a7e
mov edi, 7
mov ebx, dword [esp + 0x10]
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], edi
jmp 0x100f6a7e
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x20]
mov ecx, dword [ebx + 0x24]
inc eax
mov dword [esp + 0x20], eax
test ecx, ecx
jne 0x100f756f
mov edx, dword [esp + 0x50]
jmp 0x100f65e8
cmp dword [esp + 0x2c], 0
je 0x100f754e
mov esi, dword [esp + 0x30]
xor edx, edx
mov eax, dword [esp + 0x18]
mov ecx, ebx
push eax
mov edi, eax
mov dword [esp + 0x2c], 0
mov esi, dword [esi]
push esi
call fcn.100eb290
add esp, 8
mov dword [esp + 0x24], eax
mov edx, eax
mov ecx, ebx
call fcn.100eb000
test eax, eax
jne 0x100f7543
mov eax, esi
cdq
mov ecx, eax
shl ecx, 5
mov dword [esp + 0x20], ecx
nop dword [eax]
lea edx, [edi + 1]
mov edi, dword [esp + 0x24]
mov dword [esp + 0x28], edx
mov edi, dword [edi + 0x18]
mov dword [esp + 0x1c], edi
cmp edx, edi
jge 0x100f6ff9
nop word [eax + eax]
mov eax, edx
cdq
add eax, 0
mov dword [esp + 0x40], eax
adc edx, ecx
cmp dword [ebx + 0x24], 0
mov dword [esp + 0x2c], edx
jne 0x100f6fdd
mov esi, dword [ebx + 0x28]
lea ecx, [ebx + 0x28]
xor edi, edi
mov dword [esp + 0x1c], ecx
test esi, esi
je 0x100f6cd8
mov dword [ecx], edi
mov ebx, dword [esi + 0x14]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f6b58
push eax
call dword [0x1011d148]
mov edx, dword [esp + 0x30]
add esp, 4
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x100f6b64
lea edi, [eax + 4]
jmp 0x100f6bab
push edx
push dword [esp + 0x44]
lea edx, [esp + 0x4c]
mov dword [eax + 0x28], edi
mov ecx, esi
call fcn.10039190
mov edi, eax
add esp, 8
test edi, edi
je 0x100f6bab
mov eax, dword [esp + 0x44]
xor edx, edx
test eax, eax
mov ecx, 0x101084e8
push eax
cmove ecx, edx
push ecx
push edi
push ebx
call fcn.10008af0
mov edx, dword [esp + 0x54]
add esp, 0x10
test edx, edx
je 0x100f6bab
mov ecx, ebx
call fcn.10004cc0
cmp byte [ebx + 0x53], 0
jne 0x100f6bb5
test edi, edi
je 0x100f6bc0
mov edx, edi
mov ecx, ebx
call fcn.10005460
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f6bd1
push eax
call dword [0x1011d150]
add esp, 4
mov ecx, dword [esp + 0x1c]
mov dword [ecx], esi
test edi, edi
je 0x100f6cd0
mov dword [ecx], 0
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f6c00
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [ebx + 0x210], 0
je 0x100f6c17
mov edx, esi
mov ecx, ebx
call fcn.10004c70
jmp 0x100f6ca7
cmp esi, dword [ebx + 0x164]
jae 0x100f6c4f
cmp esi, dword [ebx + 0x15c]
jb 0x100f6c37
mov eax, dword [ebx + 0x158]
mov dword [esi], eax
mov dword [ebx + 0x158], esi
jmp 0x100f6ca7
cmp esi, dword [ebx + 0x160]
jb 0x100f6c4f
mov eax, dword [ebx + 0x150]
mov dword [esi], eax
mov dword [ebx + 0x150], esi
jmp 0x100f6ca7
cmp dword [0x1011d0f8], 0
je 0x100f6c9d
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f6c6b
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f6ca7
push eax
call dword [0x1011d150]
jmp 0x100f6ca4
push esi
call dword [0x1011d11c]
add esp, 4
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f6cb8
push eax
call dword [0x1011d150]
add esp, 4
push dword [esp + 0x50]
call sym.sqlite3.dll_sqlite3_finalize
mov ecx, dword [esp + 0x20]
xor eax, eax
add esp, 4
cmp edi, 4
cmove edi, eax
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
cmp dword [ecx], 0
jne 0x100f6d05
test edi, edi
jne 0x100f6d05
mov eax, dword [ebx]
push ecx
push edi
push edx
push dword [esp + 0x4c]
push str.block
push dword [ebx + 4]
push dword [eax + 4]
push dword [eax]
call sym.sqlite3.dll_sqlite3_blob_open
mov ecx, dword [esp + 0x3c]
add esp, 0x20
mov edi, eax
cmp edi, 1
jne 0x100f6d19
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], 0x10b
jmp 0x100f6fd9
test edi, edi
jne 0x100f706d
mov eax, dword [ecx]
test eax, eax
je 0x100f6d30
cmp dword [eax + 0x10], edi
je 0x100f6d30
mov esi, dword [eax]
jmp 0x100f6d32
xor esi, esi
mov dword [esp + 0x2c], esi
call sym.sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x100f7059
lea eax, [esi + 0x20]
push 0
push eax
call fcn.100049e0
mov ebx, eax
add esp, 8
test ebx, ebx
je 0x100f7059
mov dword [ebx + 4], esi
lea eax, [ebx + 0xc]
mov esi, dword [esp + 0x10]
mov dword [ebx], eax
mov esi, dword [esi + 0x28]
mov dword [esp + 0x40], esi
test esi, esi
jne 0x100f6d9a
push 0x10110a2c
push 0x1754c
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov esi, 0x15
jmp 0x100f6ebb
mov edi, dword [esi + 0x14]
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f6dae
push eax
call dword [0x1011d148]
add esp, 4
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x1c], eax
test edx, edx
js 0x100f6e80
cmp edx, dword [esi]
jg 0x100f6e80
test eax, eax
jne 0x100f6dd5
lea esi, [eax + 4]
jmp 0x100f6e85
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
cmp byte [ecx + 9], 0
je 0x100f6df3
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x100f6df3
call fcn.1001a2d0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
lea esi, [ebx + 0xc]
cmp byte [ecx], 0
jne 0x100f6e11
push 0
push esi
push edx
mov edx, eax
call fcn.1001ed50
add esp, 0xc
jmp 0x100f6e1d
push esi
push edx
mov edx, eax
call fcn.1001f0e0
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x40]
mov ecx, esi
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
cmp byte [eax + 9], 0
je 0x100f6e44
add dword [eax + 0xc], 0xffffffff
jne 0x100f6e44
mov ecx, eax
call fcn.1001a290
mov ecx, esi
cmp esi, 4
jne 0x100f6e66
mov ecx, dword [esp + 0x1c]
call fcn.1002cd80
mov eax, dword [esp + 0x40]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x34]
mov dword [edi + 0x40], eax
jmp 0x100f6e88
mov eax, dword [esp + 0x1c]
mov dword [eax + 0x28], esi
mov esi, ecx
mov dword [edi + 0x40], ecx
test ecx, ecx
jne 0x100f6e88
cmp dword [edi + 0x124], ecx
je 0x100f6e91
jmp 0x100f6e88
mov esi, 1
mov dword [edi + 0x40], esi
mov edx, esi
mov ecx, edi
call fcn.10008a20
cmp byte [edi + 0x53], 0
jne 0x100f6e9b
test esi, esi
je 0x100f6ea6
mov edx, esi
mov ecx, edi
call fcn.10005460
mov esi, eax
mov eax, dword [edi + 0xc]
test eax, eax
je 0x100f6eb7
push eax
call dword [0x1011d150]
add esp, 4
test esi, esi
je 0x100f6f36
cmp dword [0x1011d0f8], 0
je 0x100f6f1d
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f6ed7
push eax
call dword [0x1011d148]
add esp, 4
push ebx
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push ebx
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f705e
push eax
call dword [0x1011d150]
mov ebx, dword [esp + 0x14]
add esp, 4
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], esi
jmp 0x100f6fd9
push ebx
call dword [0x1011d11c]
mov ebx, dword [esp + 0x14]
add esp, 4
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], esi
jmp 0x100f6fd9
mov eax, dword [ebx]
mov ecx, dword [esp + 0x2c]
mov edi, dword [esp + 0x10]
mov byte [ecx + eax], 0
mov eax, dword [ebx]
mov byte [eax + ecx + 1], 0
mov eax, dword [ebx]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 2]
shl eax, 8
add ecx, eax
mov eax, 0x100
mov dword [ebx + 8], ecx
inc dword [edi + 0x40]
mov dword [edi + 0x24], esi
mov edx, dword [ebx]
movzx ecx, byte [edx]
imul ecx, eax
movzx eax, byte [edx + 1]
add cx, ax
mov eax, esi
mov ecx, 0x10b
cmovne eax, ecx
mov dword [edi + 0x24], eax
cmp dword [0x1011d0f8], 0
je 0x100f704d
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f6fa4
push eax
call dword [0x1011d148]
add esp, 4
push ebx
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push ebx
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f6fd7
push eax
call dword [0x1011d150]
add esp, 4
mov ebx, edi
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x24]
mov edx, dword [esp + 0x28]
inc edx
mov dword [esp + 0x28], edx
mov edi, dword [eax + 0x18]
mov dword [esp + 0x1c], edi
cmp edx, edi
jl 0x100f6b10
mov eax, edi
cdq
add eax, 0
mov dword [esp + 0x40], eax
adc edx, ecx
cmp dword [ebx + 0x24], 0
mov dword [esp + 0x2c], edx
jne 0x100f751c
mov esi, dword [ebx + 0x28]
lea ecx, [ebx + 0x28]
xor edi, edi
mov dword [esp + 0x34], ecx
test esi, esi
je 0x100f71ec
mov dword [ecx], edi
mov ebx, dword [esi + 0x14]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f7041
push eax
call dword [0x1011d148]
mov edx, dword [esp + 0x30]
add esp, 4
mov eax, dword [esi + 0x10]
test eax, eax
jne 0x100f7078
lea edi, [eax + 4]
jmp 0x100f70bf
push ebx
call dword [0x1011d11c]
jmp 0x100f6fd4
mov esi, 7
mov ebx, dword [esp + 0x10]
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], esi
jmp 0x100f6fd9
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], edi
jmp 0x100f6fd9
push edx
push dword [esp + 0x44]
lea edx, [esp + 0x50]
mov dword [eax + 0x28], edi
mov ecx, esi
call fcn.10039190
mov edi, eax
add esp, 8
test edi, edi
je 0x100f70bf
mov eax, dword [esp + 0x48]
xor edx, edx
test eax, eax
mov ecx, 0x101084e8
push eax
cmove ecx, edx
push ecx
push edi
push ebx
call fcn.10008af0
mov edx, dword [esp + 0x58]
add esp, 0x10
test edx, edx
je 0x100f70bf
mov ecx, ebx
call fcn.10004cc0
cmp byte [ebx + 0x53], 0
jne 0x100f70c9
test edi, edi
je 0x100f70d4
mov edx, edi
mov ecx, ebx
call fcn.10005460
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f70e5
push eax
call dword [0x1011d150]
add esp, 4
mov ecx, dword [esp + 0x34]
mov dword [ecx], esi
test edi, edi
je 0x100f71e4
mov dword [ecx], 0
mov ebx, dword [esi + 0x14]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x50], eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f7114
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [ebx + 0x210], 0
je 0x100f712b
mov edx, esi
mov ecx, ebx
call fcn.10004c70
jmp 0x100f71bb
cmp esi, dword [ebx + 0x164]
jae 0x100f7163
cmp esi, dword [ebx + 0x15c]
jb 0x100f714b
mov eax, dword [ebx + 0x158]
mov dword [esi], eax
mov dword [ebx + 0x158], esi
jmp 0x100f71bb
cmp esi, dword [ebx + 0x160]
jb 0x100f7163
mov eax, dword [ebx + 0x150]
mov dword [esi], eax
mov dword [ebx + 0x150], esi
jmp 0x100f71bb
cmp dword [0x1011d0f8], 0
je 0x100f71b1
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f717f
push eax
call dword [0x1011d148]
add esp, 4
push esi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push esi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f71bb
push eax
call dword [0x1011d150]
jmp 0x100f71b8
push esi
call dword [0x1011d11c]
add esp, 4
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f71cc
push eax
call dword [0x1011d150]
add esp, 4
push dword [esp + 0x50]
call sym.sqlite3.dll_sqlite3_finalize
mov ecx, dword [esp + 0x38]
xor eax, eax
add esp, 4
cmp edi, 4
cmove edi, eax
mov edx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
cmp dword [ecx], 0
jne 0x100f7218
test edi, edi
jne 0x100f7218
mov eax, dword [ebx]
push ecx
push edi
push edx
push dword [esp + 0x4c]
push str.block
push dword [ebx + 4]
push dword [eax + 4]
push dword [eax]
call sym.sqlite3.dll_sqlite3_blob_open
add esp, 0x20
lea ecx, [ebx + 0x28]
mov edi, eax
cmp edi, 1
jne 0x100f7229
mov dword [ebx + 0x24], 0x10b
jmp 0x100f7515
test edi, edi
jne 0x100f7512
mov eax, dword [ecx]
test eax, eax
je 0x100f7240
cmp dword [eax + 0x10], edi
je 0x100f7240
mov ebx, dword [eax]
jmp 0x100f7242
xor ebx, ebx
mov dword [esp + 0x2c], ebx
call sym.sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x100f7504
lea eax, [ebx + 0x20]
push 0
push eax
call fcn.100049e0
mov edi, eax
add esp, 8
test edi, edi
je 0x100f7504
mov esi, dword [esp + 0x34]
lea eax, [edi + 0xc]
mov dword [edi + 4], ebx
mov dword [edi], eax
mov esi, dword [esi]
mov dword [esp + 0x40], esi
test esi, esi
jne 0x100f72a9
push 0x10110a2c
push 0x1754c
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call sym.sqlite3.dll_sqlite3_log
add esp, 0x14
mov esi, 0x15
jmp 0x100f73ca
mov ebx, dword [esi + 0x14]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f72bd
push eax
call dword [0x1011d148]
add esp, 4
mov edx, dword [esp + 0x2c]
mov eax, dword [esi + 0x10]
mov dword [esp + 0x4c], eax
test edx, edx
js 0x100f738f
cmp edx, dword [esi]
jg 0x100f738f
test eax, eax
jne 0x100f72e4
lea esi, [eax + 4]
jmp 0x100f7394
mov eax, dword [esi + 0xc]
mov ecx, dword [eax + 8]
cmp byte [ecx + 9], 0
je 0x100f7302
inc dword [ecx + 0xc]
cmp byte [ecx + 0xa], 0
jne 0x100f7302
call fcn.1001a2d0
mov edx, dword [esp + 0x2c]
mov ecx, dword [esi + 0xc]
mov eax, dword [esi + 4]
lea esi, [edi + 0xc]
cmp byte [ecx], 0
jne 0x100f7320
push 0
push esi
push edx
mov edx, eax
call fcn.1001ed50
add esp, 0xc
jmp 0x100f732c
push esi
push edx
mov edx, eax
call fcn.1001f0e0
add esp, 8
mov esi, eax
mov eax, dword [esp + 0x40]
mov ecx, esi
mov dword [esp + 0x34], ecx
mov eax, dword [eax + 0xc]
mov eax, dword [eax + 8]
cmp byte [eax + 9], 0
je 0x100f7353
add dword [eax + 0xc], 0xffffffff
jne 0x100f7353
mov ecx, eax
call fcn.1001a290
mov ecx, esi
cmp esi, 4
jne 0x100f7375
mov ecx, dword [esp + 0x4c]
call fcn.1002cd80
mov eax, dword [esp + 0x40]
mov dword [eax + 0x10], 0
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x40], eax
jmp 0x100f7397
mov eax, dword [esp + 0x4c]
mov dword [eax + 0x28], esi
mov esi, ecx
mov dword [ebx + 0x40], ecx
test ecx, ecx
jne 0x100f7397
cmp dword [ebx + 0x124], ecx
je 0x100f73a0
jmp 0x100f7397
mov esi, 1
mov dword [ebx + 0x40], esi
mov edx, esi
mov ecx, ebx
call fcn.10008a20
cmp byte [ebx + 0x53], 0
jne 0x100f73aa
test esi, esi
je 0x100f73b5
mov edx, esi
mov ecx, ebx
call fcn.10005460
mov esi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100f73c6
push eax
call dword [0x1011d150]
add esp, 4
test esi, esi
je 0x100f743f
cmp dword [0x1011d0f8], 0
je 0x100f7429
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f73e6
push eax
call dword [0x1011d148]
add esp, 4
push edi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push edi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f7509
push eax
call dword [0x1011d150]
mov ebx, dword [esp + 0x14]
add esp, 4
mov dword [ebx + 0x24], esi
jmp 0x100f7515
push edi
call dword [0x1011d11c]
mov ebx, dword [esp + 0x14]
add esp, 4
mov dword [ebx + 0x24], esi
jmp 0x100f7515
mov eax, dword [edi]
mov ecx, dword [esp + 0x2c]
mov ebx, dword [esp + 0x10]
mov byte [ecx + eax], 0
mov eax, dword [edi]
mov byte [ecx + eax + 1], 0
mov eax, dword [edi]
movzx ecx, byte [eax + 3]
movzx eax, byte [eax + 2]
shl eax, 8
add ecx, eax
mov dword [edi + 8], ecx
inc dword [ebx + 0x40]
mov dword [ebx + 0x24], esi
mov edx, dword [edi]
movzx eax, byte [edx]
movzx ecx, byte [edx + 1]
shl eax, 8
add ecx, eax
cmp ecx, dword [edi + 8]
jge 0x100f74a0
add ecx, edx
lea edx, [esp + 0x58]
call fcn.10103660
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x58]
cmp eax, dword [ecx + 0x20]
jne 0x100f74a0
mov eax, dword [esp + 0x5c]
cmp eax, dword [ecx + 0x24]
je 0x100f74a7
mov dword [ebx + 0x24], 0x10b
cmp dword [0x1011d0f8], 0
je 0x100f74f8
mov eax, dword [0x1011f3e8]
test eax, eax
je 0x100f74c3
push eax
call dword [0x1011d148]
add esp, 4
push edi
call dword [0x1011d124]
sub dword [0x1011f200], eax
add esp, 4
dec dword [0x1011f224]
push edi
call dword [0x1011d11c]
mov eax, dword [0x1011f3e8]
add esp, 4
test eax, eax
je 0x100f7518
push eax
call dword [0x1011d150]
add esp, 4
jmp 0x100f7518
push edi
call dword [0x1011d11c]
add esp, 4
jmp 0x100f7518
mov esi, 7
mov ebx, dword [esp + 0x10]
mov dword [ebx + 0x24], esi
jmp 0x100f7515
mov dword [ebx + 0x24], edi
inc dword [ebx + 0x40]
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
mov ecx, ebx
push 0
call fcn.100eaf50
mov edx, dword [esp + 0x28]
add esp, 4
mov ecx, ebx
call fcn.100eb000
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x100f6af0
mov ecx, dword [esp + 0x24]
call fcn.100eb1a0
jmp 0x100f7559
mov eax, dword [esp + 0x30]
mov eax, dword [eax + 8]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x4c], eax
cmp dword [ebx + 0x24], 0
je 0x100f6111
mov edi, dword [esp + 0x14]
test edi, edi
je 0x100f7605
mov esi, dword [edi]
test esi, esi
jne 0x100f75b0
push str.API_called_with_finalized_prepared_statement
push 0x15
call sym.sqlite3.dll_sqlite3_log
push 0x10110a2c
push 0x14a42
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call sym.sqlite3.dll_sqlite3_log
add esp, 0x1c
lea edi, [esi + 0x15]
jmp 0x100f7605
mov eax, dword [esi + 0xc]
test eax, eax
je 0x100f75c1
push eax
call dword [0x1011d148]
add esp, 4
cmp dword [edi + 0x94], 0
jl 0x100f75de
jg 0x100f75d5
cmp dword [edi + 0x90], 0
jbe 0x100f75de
mov edx, edi
mov ecx, esi
call fcn.1002f010
mov ecx, edi
call fcn.1002cd80
cmp byte [esi + 0x53], 0
jne 0x100f75f3
test eax, eax
jne 0x100f75f3
xor edi, edi
jmp 0x100f75fe
mov edx, eax
mov ecx, esi
call fcn.10005460
mov edi, eax
mov ecx, esi
call fcn.100a6d80
cmp dword [ebx + 0x24], 0
jne 0x100f760e
mov dword [ebx + 0x24], edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret