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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x100
mov ebx, edx
mov edi, ecx
mov eax, dword [0x101ef014]
xor eax, ebp
mov dword [esp + 0xf8], eax
xor eax, eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0xa0], eax
call sym.nss3.dll_sqlite3_initialize
mov esi, 7
test eax, eax
jne 0x10195f90
mov dword [esp + 0x58], ebx
mov dword [esp + 0x14], edi
xor edi, edi
mov ecx, 0x288
xor edx, edx
call fcn.10143580
test eax, eax
jne 0x10195fa8
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.10156ff0
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, eax
lea eax, [esp + 0xb0]
mov dword [eax], edi
mov dword [esp + 0x9c], edi
mov ecx, dword [esp + 0x14]
mov edx, 0x16
push edi
push eax
call fcn.10186a00
add esp, 8
mov esi, eax
test eax, eax
je 0x10195fed
push ebx
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esp + 0x98]
call sym.nss3.dll_sqlite3_free
add esp, 4
jmp 0x10195f90
mov dword [esp + 8], ebx
mov esi, dword [esp + 0xb0]
xor eax, eax
inc eax
push 0
push eax
push eax
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x1019609f
mov ecx, esi
xor edx, edx
call fcn.1015c6b0
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov edi, eax
mov ecx, esi
call fcn.1015c730
mov ecx, esi
xor edx, edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bb50
mov ebx, eax
mov ecx, esi
call fcn.1015c730
test edi, edi
je 0x1019609f
test ebx, ebx
jle 0x10196098
call sym.nss3.dll_sqlite3_initialize
test eax, eax
je 0x10196072
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, 7
jmp 0x10196f14
mov ecx, ebx
xor edx, edx
call fcn.10143580
test eax, eax
je 0x1019605f
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x98], eax
push ebx
push edi
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x9c], ebx
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
cmp dword [esp + 0x58], 0
jle 0x10196f14
test esi, esi
mov ebx, dword [esp + 8]
jne 0x10195fd3
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x238]
mov dword [esp + 0x8c], ecx
cmp eax, 3
mov edx, 2
cmovge edx, eax
lea eax, [ebx + 0x248]
mov dword [esp + 0x54], eax
lea eax, [ebx + 0x58]
mov dword [esp + 0x80], eax
lea eax, [ebx + 0x230]
mov dword [esp + 0x88], eax
lea eax, [ebx + 0x50]
mov dword [esp + 0x84], eax
xor edi, edi
lea eax, [esp + 0x94]
mov dword [esp + 0x28], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x90], edx
mov ecx, dword [esp + 0x14]
mov esi, edx
mov edx, dword [ecx + 0x100]
mov dword [esp + 0xc], edx
mov dword [esp + 0x94], edi
mov edx, 0x1c
push edi
push eax
call fcn.10186a00
add esp, 8
mov eax, dword [esp + 0x94]
push edi
push esi
mov esi, eax
push 1
push eax
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
xor edi, edi
dec edi
cmp eax, 0x64
jne 0x101961b5
mov ecx, esi
xor edx, edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], edx
mov ecx, esi
call fcn.1015c730
mov ecx, esi
xor edx, edx
inc edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov edi, eax
mov ecx, esi
call fcn.1015c730
shl dword [esp + 0xc], 0xa
mov dword [esp + 4], edi
mov dword [esp + 0xa8], edi
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
xor eax, eax
test esi, esi
mov edi, 0
jne 0x1019634d
mov edx, dword [esp + 0x9c]
test edx, edx
mov ecx, dword [esp + 0x20]
je 0x10196351
mov dword [esp + 0xb4], edi
mov dword [esp + 0xb0], edi
mov dword [esp + 0xe8], edi
mov ebx, dword [esp + 0x98]
mov esi, 0x10b
cmp byte [ebx + edx - 1], 0
mov dword [esp + 0x10], edx
js 0x10196290
lea eax, [edx - 1]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
lea eax, [edx - 1]
test eax, eax
jle 0x10196283
cmp byte [ebx + edx - 2], 0
mov edx, eax
js 0x10196228
jmp 0x10196eb0
cmp eax, 2
jl 0x10196f1d
lea edi, [eax - 1]
cmp byte [ebx + eax - 2], 0
mov eax, edi
js 0x1019623d
jmp 0x10196f1f
cmp dword [ebx], 0
jg 0x10197256
push dword [ebx - 4]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [ebx - 0x10]
call sym.nss3.dll_sqlite3_free
add esp, 4
add ebx, 0xffffffe0
add edi, 0xffffffff
jb 0x10196257
jmp 0x101976f1
mov eax, ecx
cmp dword [esp + 0x10], 0
jle 0x10196eb0
mov dword [esp + 0xac], esi
mov edx, dword [esp + 4]
test edx, edx
js 0x10196357
mov ebx, dword [esp + 0xc]
mov edi, ebx
sar edi, 0x1f
push edi
push ebx
push dword [esp + 0x28]
push dword [esp + 0x34]
call fcn.101572c0
mov dword [esp + 0x3c], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
push edi
mov edi, eax
push ebx
mov ebx, ecx
push ecx
push edi
call fcn.101572c0
mov ecx, ebx
cmp dword [esp + 0x3c], eax
sbb dword [esp + 0x18], edx
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
jge 0x10196369
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], eax
xor eax, eax
mov ecx, dword [esp + 0x20]
jmp 0x1019638f
mov eax, dword [ebx]
test eax, eax
jle 0x10196312
test esi, esi
je 0x10196333
push dword [ebx - 4]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [ebx - 0x10]
call sym.nss3.dll_sqlite3_free
add esp, 4
add ebx, 0x20
dec edi
jne 0x10196308
jmp 0x10197657
mov edx, dword [ebx - 0x18]
mov ecx, dword [esp + 0x14]
push eax
push dword [ebx - 4]
push dword [ebx - 0x14]
call fcn.10195190
add esp, 0xc
mov esi, eax
jmp 0x10196312
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 4]
jmp 0x10196391
mov edi, dword [esp + 0xb0]
mov ecx, dword [esp + 0xb4]
mov ebx, dword [esp + 8]
mov eax, dword [ebp + 8]
cmp edx, eax
cmovle edx, eax
mov eax, dword [esp + 0xe8]
cmp edx, eax
cmovge edx, eax
mov dword [esp + 0xa8], edx
xor eax, eax
inc eax
mov dword [esp + 0x60], eax
mov dword [esp + 0x28], edi
xor edi, edi
test edx, edx
jle 0x10196ed4
mov dword [esp + 4], edx
mov edx, 0x10b
test ecx, ecx
js 0x10196ed6
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
neg eax
sbb dword [esp + 0xc], ecx
jl 0x10196ed6
mov dword [esp + 0x20], ecx
push 0x288
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebx + 0x244], 1
test esi, esi
jne 0x10196637
mov dword [esp + 0xb0], edi
mov ecx, dword [esp + 0x14]
mov edx, 8
push edi
lea eax, [esp + 0xb4]
push eax
call fcn.10186a00
add esp, 8
test eax, eax
jne 0x101965a8
mov eax, dword [esp + 0x28]
add eax, 1
mov ecx, dword [esp + 0x20]
adc ecx, 0
mov esi, dword [esp + 0xb0]
push ecx
push eax
push 1
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
mov dword [esp + 0xc], 0
mov ecx, esi
xor edx, edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov dword [esp + 0x18], eax
mov ecx, esi
call fcn.1015c730
push esi
call sym.nss3.dll_sqlite3_reset
mov ecx, dword [esp + 0x1c]
add esp, 4
mov dword [esp + 0xac], eax
test ecx, ecx
jne 0x10196e05
jmp 0x101965b0
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
setne al
cmp ebx, dword [esp + 4]
setge cl
or cl, al
mov byte [esp + 0x40], cl
jne 0x10196fe9
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x248]
add eax, edi
mov dword [esp + 0xc], eax
mov ecx, esi
mov edx, 4
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bb50
mov dword [esp + 0x3c], eax
mov ecx, esi
call fcn.1015c730
mov ecx, esi
mov edx, 4
call fcn.1015c6b0
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov dword [esp + 0x30], eax
mov ecx, esi
call fcn.1015c730
mov ecx, esi
mov edx, 3
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], edx
mov ecx, esi
call fcn.1015c730
mov ecx, esi
mov edx, 2
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], edx
mov ecx, esi
call fcn.1015c730
mov ecx, esi
xor edx, edx
inc edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov ecx, esi
call fcn.1015c730
mov ecx, ebx
xor edx, edx
push dword [esp + 0xc]
push dword [esp + 0x40]
push dword [esp + 0x38]
push dword [esp + 0x44]
push dword [esp + 0x2c]
push dword [esp + 0x60]
push dword [esp + 0x3c]
push dword [esp + 0x60]
push dword [esp + 0x68]
call fcn.10186790
add esp, 0x24
mov ecx, dword [esp + 8]
inc dword [ecx + 0x24c]
inc ebx
add edi, 4
test eax, eax
je 0x1019647c
jmp 0x10196fe5
test esi, esi
je 0x10196d56
jmp 0x10196637
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x14]
mov edx, 0xf
push 0
lea eax, [esp + 0xb4]
push eax
call fcn.10186a00
add esp, 8
test eax, eax
jne 0x1019662e
mov eax, dword [esp + 0x28]
mov ebx, eax
add ebx, 1
mov ecx, dword [esp + 0x20]
mov edi, ecx
adc edi, 0
add eax, 2
adc ecx, 0
mov esi, dword [esp + 0xb0]
push ecx
push eax
push 1
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
and ebx, 0xfffffc00
add ebx, 0x400
adc edi, 0
push edi
push ebx
push 2
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
je 0x10196e27
jmp 0x10196e74
mov esi, eax
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x54]
call fcn.10185da0
test esi, esi
jne 0x10196ed8
cmp dword [esp + 0x58], 0
mov edi, 0
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x94]
jg 0x1019612f
jmp 0x10196ed8
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x278]
mov dword [esp + 0x44], ecx
mov ecx, dword [eax + 0x27c]
mov edx, dword [eax + 0x280]
mov dword [esp + 0x7c], edx
mov eax, dword [eax + 0x284]
mov dword [esp + 0x38], eax
mov dword [esp + 0xe8], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x30], ecx
test ecx, ecx
jle 0x10196763
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x44]
test eax, eax
jle 0x10196763
mov ecx, dword [esp + 8]
mov ecx, dword [ecx + 0x40]
mov edx, dword [esp + 0x30]
dec edx
dec eax
cmp edx, eax
cmovb eax, edx
inc eax
xor edi, edi
mov esi, dword [esp + 0x44]
mov dl, byte [ecx + edi]
cmp dl, byte [esi + edi]
jne 0x1019675f
inc edi
cmp eax, edi
jne 0x101966da
mov dword [esp + 0x1c], eax
jmp 0x10196763
mov dword [esp + 0xc], eax
mov edx, edi
mov ebx, edx
or bl, 0x80
mov edi, eax
shld edi, edx, 0x19
mov esi, dword [esp + 4]
mov eax, dword [esp + 0x10]
mov byte [eax + esi], bl
shr ecx, 7
inc esi
mov dword [esp + 4], esi
mov eax, 0x7f
cmp eax, edx
mov esi, 0
sbb esi, dword [esp + 0xc]
mov eax, ecx
jb 0x101966ed
jmp 0x1019796e
mov dword [esp + 4], edi
mov edx, ebx
mov ecx, edx
or cl, 0x80
mov ebx, edi
shld ebx, edx, 0x19
mov edi, dword [esp + 0xc]
mov byte [edi + eax], cl
shr esi, 7
inc eax
mov ecx, 0x7f
cmp ecx, edx
mov ecx, 0
sbb ecx, dword [esp + 4]
mov edi, esi
jb 0x1019672a
jmp 0x10197988
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
jle 0x1019792b
xor edi, edi
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x38]
lea edx, [eax + ecx]
inc edx
mov dword [esp + 0x78], edx
mov esi, edx
mov edx, dword [esp + 0x1c]
sub esi, edx
mov dword [esp + 4], esi
add eax, ecx
add eax, 2
mov dword [esp + 0x3c], eax
sub eax, edx
mov dword [esp + 0xc], eax
mov eax, edx
xor ebx, ebx
xor ecx, ecx
mov edx, dword [esp + 4]
mov esi, dword [esp + 0xc]
mov dword [esp + 0x10], esi
inc ebx
mov esi, edi
mov dword [esp + 0x18], edi
mov edi, eax
shld esi, eax, 0x19
shr ecx, 7
mov eax, 0x7f
cmp eax, edi
mov eax, 0
sbb eax, dword [esp + 0x18]
lea eax, [edx + 1]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x10]
lea eax, [eax + 1]
mov dword [esp + 0xc], eax
mov eax, esi
mov edi, ecx
jb 0x101967a8
xor eax, eax
xor edi, edi
mov ebx, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov dword [esp + 4], eax
shld eax, ebx, 0x19
shr edi, 7
inc edx
mov ecx, 0x7f
cmp ecx, ebx
mov ecx, 0
sbb ecx, dword [esp + 4]
mov ecx, esi
lea esi, [esi + 1]
mov ebx, eax
mov eax, edi
jb 0x101967f8
mov esi, dword [esp + 0x38]
mov eax, esi
sar eax, 0x1f
mov edx, eax
mov ebx, 0x7f
mov edi, eax
shld edi, esi, 0x19
shr edx, 7
inc ecx
cmp ebx, esi
mov esi, 0
sbb esi, eax
mov esi, edi
mov eax, edx
jb 0x1019682f
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x50]
mov eax, edx
test edx, edx
jle 0x10196ad3
lea edx, [eax + ecx]
mov esi, dword [esp + 0x14]
cmp edx, dword [esi + 0xe8]
jle 0x10196ad3
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x38]
mov ecx, dword [esp + 0x14]
push eax
push dword [esi + 0x4c]
push dword [esi + 0x3c]
call fcn.10195190
add esp, 0xc
mov dword [esp + 0xe8], eax
inc dword [esi + 4]
test eax, eax
jne 0x10196c27
mov ecx, dword [esp + 0x1c]
lea eax, [ecx + 1]
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x40], edx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0xc], eax
lea eax, [ecx + 2]
mov dword [esp + 0x74], eax
xor eax, eax
inc eax
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x18]
shl ecx, 5
mov dword [esp + 0xb0], 0
mov eax, dword [esp + 8]
mov dword [esp + 0x10], ecx
mov eax, dword [eax + ecx + 0x44]
mov dword [esp + 0x24], 0
mov dword [esp + 0x2c], eax
test eax, eax
jle 0x10196929
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x10]
mov ecx, dword [eax + ecx + 0x40]
mov eax, dword [esp + 0x2c]
dec eax
mov edx, dword [esp + 0x1c]
cmp edx, eax
cmovb eax, edx
inc eax
xor edi, edi
mov esi, dword [esp + 0x44]
mov dl, byte [ecx + edi]
cmp dl, byte [esi + edi]
jne 0x10196925
inc edi
cmp eax, edi
jne 0x10196912
mov dword [esp + 0x24], eax
jmp 0x10196929
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + 0x24]
mov dword [esp + 0x48], eax
jle 0x10196c14
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x10]
lea ecx, [eax + edx]
add ecx, 0x38
mov dword [esp + 0x34], ecx
add eax, edx
add eax, 0x40
mov dword [esp + 0x64], eax
xor eax, eax
mov ecx, dword [esp + 0x74]
mov ebx, dword [esp + 0x24]
sub ecx, ebx
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x48]
xor edi, edi
mov edx, eax
shld edx, ebx, 0x19
shr edi, 7
inc ecx
mov esi, 0x7f
cmp esi, ebx
mov ebx, 0
sbb ebx, eax
mov esi, dword [esp + 4]
lea eax, [esi + 1]
mov dword [esp + 4], eax
mov ebx, edx
mov eax, edi
jb 0x1019696c
xor eax, eax
mov edx, dword [esp + 0x48]
xor ecx, ecx
mov edi, 0x7f
mov ebx, esi
mov esi, eax
shld esi, edx, 0x19
shr ecx, 7
inc ebx
cmp edi, edx
mov edx, 0
sbb edx, eax
mov edx, esi
mov eax, ecx
jb 0x101969a4
mov dword [esp + 0x6c], ebx
mov eax, dword [esp + 8]
mov edx, dword [esp + 0x10]
lea ecx, [eax + edx]
add ecx, 0x50
mov dword [esp + 0x50], ecx
mov eax, dword [eax + edx + 0x50]
mov dword [esp + 4], eax
cmp dword [esp + 0x2c], 0
je 0x10196b7c
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 4]
add ecx, eax
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0xe8]
jle 0x10196b7c
mov edi, dword [esp + 0x34]
mov edx, dword [edi]
mov ecx, dword [esp + 0x14]
push dword [esp + 4]
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x14]
push dword [esi + ebx + 0x4c]
push dword [edi + 4]
call fcn.10195190
add esp, 0xc
mov dword [esp + 0x2c], eax
mov eax, dword [esi + ebx + 0x4c]
mov edx, ebx
mov ebx, dword [esp + 0x40]
add ebx, 1
mov edi, dword [esp + 0xc]
adc edi, 0
mov ecx, dword [esp + 0x18]
mov byte [eax], cl
mov eax, dword [esi + edx + 0x4c]
xor ecx, ecx
inc ecx
mov esi, edi
mov edx, ebx
or bl, 0x80
mov byte [eax + ecx], bl
mov ebx, edi
shld ebx, edx, 0x19
shr esi, 7
inc ecx
cmp edx, 0x80
sbb edi, 0
mov edi, esi
jae 0x10196a4c
and dl, 0x7f
mov byte [eax + ecx - 1], dl
mov eax, dword [esp + 0x50]
mov dword [eax], ecx
mov edx, dword [esp + 0x34]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x40], eax
add eax, 1
mov dword [esp + 0xc], ecx
adc ecx, 0
mov dword [edx], eax
mov dword [edx + 4], ecx
mov dword [edx + 0xc], 0
cmp dword [esp + 0x2c], 0
jne 0x10196c1c
mov eax, dword [esp + 0x40]
or eax, dword [esp + 0xc]
je 0x10196c1c
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x10
jne 0x101968c3
mov dword [esp + 0x2c], 0
jmp 0x10196c1c
mov dword [esp + 4], eax
mov edx, ecx
sar edx, 0x1f
mov esi, dword [esp + 0x4c]
add dword [esi], ecx
adc dword [esi + 4], edx
mov edx, dword [esp + 4]
add edx, ecx
lea esi, [esp + 0xe8]
mov ecx, dword [esp + 0x68]
push esi
call fcn.101985d0
add esp, 4
mov esi, dword [esi]
test esi, esi
jne 0x10196b58
mov eax, dword [esp + 8]
cmp dword [eax + 0x50], 0
jne 0x10196b20
mov eax, dword [esp + 8]
mov dword [eax + 0x50], 1
mov eax, dword [eax + 0x4c]
mov byte [eax], 0
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x70]
push dword [esp + 0x38]
push dword [esp + 0x80]
push dword [esp + 0x38]
push dword [esp + 0x50]
call fcn.10198850
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x10196b58
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
call fcn.10187420
mov esi, eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
cmp eax, dword [esp + 0x58]
jl 0x10196b6e
cmp esi, 0x64
je 0x10197796
cmp esi, 0x64
je 0x1019666b
jmp 0x10197940
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x10]
add eax, ecx
add eax, 0x4c
mov dword [esp + 0x1c], eax
cmp dword [esp + 4], 0
jne 0x10196bc5
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xe8]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb0]
push eax
call fcn.101985d0
add esp, 4
cmp dword [esp + 0xb0], 0
je 0x101979a6
jmp 0x101979ce
mov edx, dword [esp + 4]
add edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0xb0]
push esi
call fcn.101985d0
add esp, 4
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
push esi
call fcn.101985d0
add esp, 4
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x10196c1c
mov eax, dword [esp + 0x34]
cmp dword [eax + 0xc], 0
jne 0x101979ec
jmp 0x101979dd
mov dword [esp + 0x2c], 0x10b
mov eax, dword [esp + 0x2c]
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 8]
add dword [ecx + 0x38], 1
adc dword [ecx + 0x3c], 0
xor eax, eax
mov dword [ecx + 0x44], eax
mov dword [ecx + 0x50], eax
mov esi, dword [esp + 0x30]
mov eax, esi
sar eax, 0x1f
mov edx, eax
mov ebx, dword [esp + 0x78]
mov edi, eax
shld edi, esi, 0x19
shr edx, 7
inc ebx
mov ecx, 0x7f
cmp ecx, esi
mov ecx, 0
sbb ecx, eax
mov ecx, dword [esp + 0x3c]
lea eax, [ecx + 1]
mov dword [esp + 0x3c], eax
mov esi, edi
mov eax, edx
jb 0x10196c4a
mov edi, dword [esp + 0x38]
mov edx, edi
sar edx, 0x1f
mov esi, edx
mov ebx, edx
shld ebx, edi, 0x19
shr esi, 7
inc ecx
mov dword [esp + 4], 0
mov eax, 0x7f
cmp eax, edi
mov edi, 0
sbb edi, edx
mov edi, ebx
mov edx, esi
jb 0x10196c7e
jmp 0x10196ad7
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x10]
add ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov dword [esp + 4], 0
mov ebx, dword [esp + 0x48]
xor ecx, ecx
xor esi, esi
mov dword [esp + 0xc], ecx
mov edx, ebx
mov eax, edx
or al, 0x80
mov ebx, ecx
shld ebx, edx, 0x19
mov ecx, dword [esp + 0x10]
mov edi, dword [esp + 4]
mov byte [ecx + edi], al
shr esi, 7
inc edi
mov dword [esp + 4], edi
mov eax, 0x7f
cmp eax, edx
mov eax, 0
sbb eax, dword [esp + 0xc]
mov ecx, esi
jb 0x10196cc7
and dl, 0x7f
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 4]
mov byte [eax + ecx - 1], dl
mov ebx, dword [esp + 0x50]
add ecx, dword [ebx]
mov dword [ebx], ecx
mov eax, dword [esp + 0x1c]
add ecx, dword [eax]
mov esi, dword [esp + 0x44]
mov eax, dword [esp + 0x24]
add eax, esi
mov edi, dword [esp + 0x48]
push edi
push eax
push ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebx], edi
mov edi, dword [esp + 0x5c]
push edi
push esi
mov eax, dword [esp + 0x6c]
push dword [eax]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 0x34]
mov dword [eax + 0xc], edi
jmp 0x10196c1c
mov dword [esp + 0x18], ecx
mov dword [esp + 0xb0], 0
mov esi, dword [esp + 0x54]
xorps xmm0, xmm0
movups xmmword [esi + 0x30], xmm0
movups xmmword [esi + 0x20], xmm0
movups xmmword [esi + 0x10], xmm0
movups xmmword [esi], xmm0
call sym.nss3.dll_sqlite3_initialize
test eax, eax
jne 0x10196e95
mov eax, dword [esp + 4]
lea ebx, [eax*4]
mov ecx, ebx
xor edx, edx
call fcn.10143580
mov dword [esi], eax
mov esi, 7
test eax, eax
je 0x10196ea0
push ebx
push edi
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, 0xc
push edi
lea eax, [esp + 0xb4]
push eax
call fcn.10186a00
add esp, 8
mov esi, eax
test eax, eax
jne 0x10196ea0
mov esi, dword [esp + 0xb0]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push 1
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov dword [esp + 0x34], 0
xor edi, edi
xor ebx, ebx
jmp 0x1019647c
mov esi, eax
cmp dword [esp + 0x10], 0
je 0x1019659b
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
cmp ecx, 1
je 0x101965b0
jmp 0x1019659b
mov ecx, esi
xor edx, edx
call fcn.1015c6b0
movzx eax, word [eax + 0x10]
and eax, 0x3f
mov bl, byte [eax + 0x101af8fa]
mov ecx, esi
call fcn.1015c730
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
mov dword [esp + 0xac], eax
cmp bl, 5
mov edi, 0
jne 0x10196ec7
mov ebx, dword [esp + 8]
or byte [ebx + 0x244], 2
mov ecx, dword [esp + 0xc]
jmp 0x1019659b
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
xor edi, edi
jmp 0x1019659b
mov dword [esi], 0
mov esi, 7
mov dword [esp + 0xac], esi
mov ebx, dword [esp + 8]
jmp 0x10196637
test eax, eax
mov ecx, 1
cmovle ecx, eax
dec ecx
lea edx, [esp + 0xb0]
jmp 0x1019623d
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
jmp 0x1019659b
mov edx, esi
mov esi, edx
cmp dword [esp + 0x60], 0
je 0x10195fd3
test esi, esi
jne 0x10195fd3
xor ebx, ebx
mov dword [esp + 0xb0], ebx
mov ecx, dword [esp + 0x14]
mov edx, 0x17
push ebx
lea eax, [esp + 0xb4]
push eax
call fcn.10186a00
add esp, 8
mov esi, eax
test eax, eax
je 0x10196f5f
mov ebx, dword [esp + 8]
jmp 0x10195fd3
mov edi, ecx
mov dword [esp + 0x9c], edi
lea ecx, [ebx + edi]
call fcn.10186cf0
mov esi, eax
add esi, edi
movzx eax, byte [ebx + esi]
test al, al
js 0x1019723a
mov dword [esp + 0xe8], eax
xor eax, eax
inc eax
xor ecx, ecx
mov edx, dword [esp + 0x10]
add eax, esi
cmp eax, edx
mov esi, 0x10b
cmove esi, ecx
jmp 0x10196290
mov edi, dword [esp + 0xb0]
xor eax, eax
inc eax
push ebx
push eax
push eax
push edi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov eax, dword [esp + 0x9c]
mov esi, eax
sar esi, 0x1f
mov ecx, edi
mov edx, 2
push ebx
push ebx
push esi
push eax
push dword [esp + 0xa8]
call fcn.10068cb0
add esp, 0x14
push edi
call sym.nss3.dll_sqlite3_step
add esp, 4
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
mov ecx, edi
xor edx, edx
inc edx
call fcn.10001320
test eax, eax
jne 0x10196f14
mov eax, dword [edi]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x10196f14
mov ecx, dword [0x101ef078]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x10196f14
mov dword [esp + 0x34], eax
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
cmp byte [esp + 0x40], 0
cmove esi, dword [esp + 0x34]
mov dword [esp + 0xac], esi
test esi, esi
jne 0x10196ea7
xor esi, esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
cmp dword [eax + 0x24c], ecx
jne 0x10196ea7
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x8c]
mov dword [eax + 0x254], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
push dword [eax + 0x23c]
push dword [eax + 0x238]
call fcn.10186e20
add esp, 8
mov dword [esp + 0xac], eax
test eax, eax
jne 0x1019724f
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
call fcn.10187420
mov dword [esp + 0xac], eax
mov dword [esp + 0x3c], eax
cmp eax, 0x64
je 0x10197087
cmp dword [esp + 0x3c], 0
jne 0x10197a0b
mov eax, dword [esp + 8]
add eax, 0x28
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x10], 0
je 0x101972ff
cmp dword [esp + 0x18], 0
jle 0x101972ff
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x278]
mov dword [esp + 4], ecx
mov eax, dword [eax + 0x27c]
mov dword [esp + 0xc], eax
xor ebx, ebx
lea eax, [esp + 0xf0]
mov dword [eax], ebx
mov ecx, dword [esp + 0x14]
mov edx, 0x20
push ebx
push eax
call fcn.10186a00
add esp, 8
mov esi, eax
test eax, eax
jne 0x10197741
mov esi, dword [esp + 0x18]
dec esi
mov dword [esp + 0xec], ebx
mov dword [esp + 0xe8], ebx
mov eax, dword [esp + 0x28]
add eax, 1
mov ecx, dword [esp + 0x20]
adc ecx, ebx
mov edi, dword [esp + 0xf0]
push ecx
push eax
push 1
push edi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push ebx
mov ebx, esi
push esi
push 2
push edi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov dword [esp + 0x10], edi
push edi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x10197733
xor edx, edx
inc edx
mov esi, dword [esp + 0x10]
mov ecx, esi
mov dword [esp + 0x30], edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], edx
mov ecx, esi
call fcn.1015c730
mov ecx, esi
mov edx, 2
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov ecx, esi
call fcn.1015c730
lea eax, [esp + 0xe8]
mov ecx, esi
mov edx, 3
mov esi, dword [esp + 0x4c]
push esi
push eax
call fcn.101959b0
add esp, 8
mov eax, dword [esi]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x101971c1
xor edx, edx
neg eax
sbb edx, ecx
mov ecx, dword [esp + 0x4c]
mov dword [ecx], eax
mov dword [ecx + 4], edx
mov ecx, edx
or eax, ecx
mov eax, dword [esp + 8]
sete byte [eax + 0x30]
mov esi, dword [esp + 0x10]
mov ecx, esi
mov edx, 4
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bb50
mov dword [esp + 0x18], eax
mov ecx, esi
call fcn.1015c730
mov ecx, esi
mov edx, 4
call fcn.1015c6b0
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov edi, eax
mov ecx, esi
call fcn.1015c730
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x10197818
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
cmp dword [esp + 0x18], 0
mov eax, 0x10b
mov esi, 7
cmove esi, eax
jmp 0x10197741
add ebx, esi
lea edx, [esp + 0xe8]
mov ecx, ebx
call fcn.10186b40
jmp 0x10196f48
mov esi, eax
jmp 0x10196ea7
mov dword [esp + 4], edi
test edi, edi
jne 0x10197651
mov eax, dword [esp + 8]
lea ecx, [eax + 0x6c]
mov edx, 0xb
lea eax, [esp + 0xb0]
push eax
call fcn.101985d0
add esp, 4
mov esi, dword [esp + 0xb0]
test esi, esi
jne 0x101972e8
mov ecx, dword [esp + 8]
mov eax, dword [ecx + 0x6c]
mov byte [eax], 1
mov esi, dword [ecx + 0x38]
mov edi, dword [ecx + 0x3c]
mov eax, dword [ecx + 0x6c]
mov dword [esp + 0xc], eax
xor ecx, ecx
inc ecx
mov ebx, edi
mov dword [esp + 4], edi
mov edx, esi
mov eax, edx
or al, 0x80
mov esi, edi
shld esi, edx, 0x19
mov edi, dword [esp + 0xc]
mov byte [edi + ecx], al
shr ebx, 7
inc ecx
mov eax, 0x7f
cmp eax, edx
mov eax, 0
sbb eax, dword [esp + 4]
mov edi, ebx
jb 0x101972a5
and dl, 0x7f
mov eax, dword [esp + 0xc]
mov byte [eax + ecx - 1], dl
mov eax, dword [esp + 8]
mov dword [eax + 0x70], ecx
xor esi, esi
xor eax, eax
inc eax
mov dword [esp + 4], eax
mov ebx, dword [esp + 0x84]
mov edi, dword [esp + 4]
jmp 0x10196308
xor eax, eax
mov dword [esp + 0xb0], eax
mov dword [esp + 0xe8], eax
mov ecx, dword [esp + 0x14]
mov edx, 0x1d
xor edi, edi
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.10186a00
add esp, 8
mov esi, eax
test eax, eax
jne 0x10197741
mov esi, dword [esp + 0xb0]
push dword [esp + 0x20]
push dword [esp + 0x2c]
push 1
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x24c]
mov ecx, eax
sar ecx, 0x1f
push ecx
push eax
push 2
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x10197392
mov ecx, esi
xor edx, edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov edi, eax
mov ecx, esi
call fcn.1015c730
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
test eax, eax
jne 0x10197741
lea eax, [esp + 0xe8]
mov ecx, dword [esp + 0x14]
mov edx, 0xa
push 0
push eax
call fcn.10186a00
add esp, 8
mov esi, eax
test eax, eax
jne 0x10197741
mov esi, dword [esp + 0xe8]
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x10197424
mov ecx, esi
xor edx, edx
call fcn.1015c6b0
mov ecx, eax
call fcn.1015bbe0
mov ebx, eax
mov dword [esp + 4], edx
mov ecx, esi
call fcn.1015c730
mov edx, dword [esp + 8]
mov dword [edx + 0x18], ebx
mov eax, edi
shl eax, 4
mov ecx, eax
sar ecx, 0x1f
add eax, ebx
mov ebx, dword [esp + 4]
mov dword [edx + 0x1c], ebx
adc ecx, ebx
add eax, 0xffffffff
mov dword [edx + 0x20], eax
adc ecx, 0xffffffff
mov dword [edx + 0x24], ecx
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
test eax, eax
jne 0x10197741
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x20]
xor eax, eax
mov ecx, dword [esp + 0x14]
push eax
push eax
push dword [esi + 0x24]
call fcn.10195190
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x10197741
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0xc], eax
mov ebx, edi
mov dword [ecx], edi
mov eax, dword [esp + 0x18]
mov dword [ecx + 0x10], eax
mov esi, dword [ecx + 0x18]
mov dword [esp + 0xc], esi
mov edi, dword [ecx + 0x1c]
mov dword [esp + 4], edi
mov dword [ecx + 0x3c], edi
mov dword [ecx + 0x38], esi
mov edx, ebx
sar edx, 0x1f
add esi, ebx
adc edx, edi
mov dword [ecx + 0x58], esi
mov dword [ecx + 0x5c], edx
lea eax, [ebx + ebx]
mov esi, eax
mov dword [esp + 0x10], eax
sar esi, 0x1f
mov edx, dword [esp + 0xc]
mov edi, edx
add edi, eax
adc esi, dword [esp + 4]
mov dword [ecx + 0x78], edi
mov dword [ecx + 0x7c], esi
lea eax, [ebx + ebx*2]
mov dword [esp + 0x30], eax
mov esi, eax
sar esi, 0x1f
mov edi, edx
add edi, eax
mov dword [ecx + 0x98], edi
adc esi, dword [esp + 4]
mov dword [ecx + 0x9c], esi
lea eax, [ebx*4]
mov dword [esp + 0x1c], eax
mov esi, eax
sar esi, 0x1f
mov edi, edx
add edi, eax
mov dword [ecx + 0xb8], edi
adc esi, dword [esp + 4]
mov dword [ecx + 0xbc], esi
lea esi, [ebx + ebx*4]
mov dword [esp + 0x18], esi
mov edi, esi
sar edi, 0x1f
mov eax, edx
add eax, esi
mov dword [ecx + 0xd8], eax
adc edi, dword [esp + 4]
mov dword [ecx + 0xdc], edi
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*2]
mov edi, eax
sar edi, 0x1f
add eax, edx
mov dword [ecx + 0xf8], eax
mov esi, dword [esp + 4]
adc edi, esi
mov dword [ecx + 0xfc], edi
lea edi, [ebx*8]
mov eax, edi
sub eax, ebx
mov edx, eax
sar edx, 0x1f
add eax, dword [esp + 0xc]
mov dword [ecx + 0x118], eax
adc edx, esi
mov dword [ecx + 0x11c], edx
mov eax, edi
sar eax, 0x1f
add edi, dword [esp + 0xc]
adc eax, esi
mov dword [ecx + 0x138], edi
mov dword [ecx + 0x13c], eax
lea eax, [ebx + ebx*8]
mov edx, eax
sar edx, 0x1f
mov esi, dword [esp + 0xc]
add eax, esi
mov edi, dword [esp + 4]
adc edx, edi
mov dword [ecx + 0x158], eax
mov dword [ecx + 0x15c], edx
mov eax, dword [esp + 0x10]
lea eax, [eax + eax*4]
mov edx, eax
sar edx, 0x1f
add eax, esi
adc edx, edi
mov dword [ecx + 0x178], eax
mov dword [ecx + 0x17c], edx
mov eax, dword [esp + 0x18]
lea eax, [ebx + eax*2]
mov edx, eax
sar edx, 0x1f
add eax, esi
adc edx, edi
mov dword [ecx + 0x198], eax
mov dword [ecx + 0x19c], edx
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
mov edx, eax
sar edx, 0x1f
add eax, esi
adc edx, edi
mov dword [ecx + 0x1b8], eax
mov dword [ecx + 0x1bc], edx
mov eax, dword [esp + 0x30]
lea eax, [ebx + eax*4]
mov edi, eax
sar edi, 0x1f
add eax, esi
mov esi, dword [esp + 4]
adc edi, esi
mov dword [ecx + 0x1d8], eax
shl ebx, 4
sub ebx, dword [esp + 0x10]
mov edx, ebx
sar edx, 0x1f
add ebx, dword [esp + 0xc]
adc edx, esi
mov dword [ecx + 0x1dc], edi
mov dword [ecx + 0x1f8], ebx
mov eax, dword [esp + 0x18]
lea eax, [eax + eax*2]
mov esi, eax
sar esi, 0x1f
mov edi, dword [esp + 0xc]
add edi, eax
adc esi, dword [esp + 4]
mov dword [ecx + 0x1fc], edx
mov dword [ecx + 0x218], edi
mov dword [ecx + 0x21c], esi
xor esi, esi
jmp 0x10197741
jg 0x101972ef
test esi, esi
jne 0x101976c7
mov eax, dword [esp + 4]
shl eax, 5
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x30], 0
mov edi, 0
jne 0x10197686
mov ecx, dword [esp + 0x4c]
mov edx, dword [ecx]
mov dword [esp + 0xc], edx
mov edi, dword [ecx + 4]
mov esi, dword [esp + 8]
mov edx, dword [esi + 8]
mov ebx, dword [esi + 0xc]
add edx, 1
adc ebx, 0
mov ecx, dword [esp + 0x14]
push dword [esi + eax + 0x50]
push dword [esi + eax + 0x4c]
push edi
push dword [esp + 0x18]
push dword [esi + 0x24]
push dword [esi + 0x20]
push dword [esi + 0x3c]
push dword [esi + 0x38]
push dword [esi + 0x1c]
push dword [esi + 0x18]
push dword [esi + 0x10]
push ebx
call fcn.10195850
add esp, 0x30
mov esi, eax
mov ebx, dword [esp + 4]
shl ebx, 5
mov edi, dword [esp + 8]
push dword [edi + ebx + 0x4c]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [edi + ebx + 0x40]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov dword [esp + 0xac], esi
cmp byte [esp + 0x10], 0
je 0x10196ea7
mov eax, dword [esp + 8]
cmp byte [eax + 0x30], 0
jne 0x10196ea7
mov edx, dword [esp + 0x28]
add edx, 1
mov eax, dword [esp + 0x20]
adc eax, 0
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x4c]
push dword [edi + 4]
push dword [edi]
push eax
call fcn.10194eb0
add esp, 0xc
jmp 0x10196ea7
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
mov dword [esp + 0xac], esi
test esi, esi
jne 0x10197757
xor esi, esi
mov eax, dword [esp + 8]
cmp dword [eax], 0
jne 0x10197788
mov dword [esp + 0x10], 0
mov ecx, dword [esp + 0x4c]
neg dword [ecx]
mov eax, 0
sbb eax, dword [ecx + 4]
mov dword [ecx + 4], eax
mov dword [esp + 0xb0], esi
mov edi, 0xf
mov ebx, dword [esp + 0x88]
jmp 0x10196257
cmp dword [esp + 0x3c], 0
jne 0x101977d3
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
not eax
add dword [esp + 0x58], eax
lea edi, [esp + 0xa8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
push edi
push dword [esp + 0x58]
push dword [esp + 0x28]
call fcn.10197e20
add esp, 0xc
mov esi, eax
mov dword [esp + 0xac], eax
mov eax, dword [edi]
test eax, eax
jne 0x101977ea
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x10197770
mov eax, dword [esp + 8]
lea ecx, [eax + 0x40]
mov dword [esp + 0x70], ecx
add eax, 0x4c
mov dword [esp + 0x68], eax
jmp 0x1019666b
lea esi, [esp + 0xac]
lea ecx, [esp + 0x98]
mov edx, dword [esp + 0x28]
push esi
push eax
push dword [esp + 0x28]
call fcn.101984d0
add esp, 0xc
xor eax, eax
inc eax
mov dword [esp + 0x60], eax
mov esi, dword [esi]
jmp 0x10197757
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xec]
mov dword [esp + 0x34], eax
xor eax, eax
mov dword [esp + 0xb0], eax
mov ecx, dword [esp + 0x14]
mov edx, 0x22
push eax
lea eax, [esp + 0xb4]
push eax
call fcn.10186a00
add esp, 8
test eax, eax
jne 0x10197954
mov esi, dword [esp + 0xb0]
push dword [esp + 0x34]
push dword [esp + 0x44]
push 1
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
mov edi, eax
xor eax, eax
cmp edi, 0x64
sete al
mov dword [esp + 0x2c], eax
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
mov dword [esp + 0xf4], eax
test eax, eax
jne 0x10197a9b
cmp edi, 0x64
jne 0x10197a9b
xor eax, eax
lea esi, [esp + 0xe4]
mov dword [esi], eax
lea edi, [esp + 0xe0]
mov dword [edi], eax
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
push edi
push esi
push dword [esp + 0x50]
call fcn.10186bc0
add esp, 0xc
mov esi, eax
mov dword [esp + 0xf4], eax
test eax, eax
jne 0x10197a84
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0xb0]
push dword [esp + 0xe0]
call fcn.10198630
add esp, 4
mov esi, eax
test eax, eax
jne 0x10197a21
cmp dword [esp + 0xb0], 0
je 0x10197a21
lea ecx, [esp + 0xb0]
call fcn.10198690
jmp 0x10197905
mov dword [esp + 0xac], 0x10b
mov esi, 0x10b
jmp 0x10197757
mov dword [esp + 0xac], esi
test esi, esi
jne 0x10197757
jmp 0x10197796
mov esi, eax
mov dword [esp + 0xf4], eax
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
jmp 0x10197741
and dl, 0x7f
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x10]
mov byte [ecx + eax - 1], dl
mov ecx, dword [esp + 0x50]
mov dword [ecx], eax
jmp 0x10196bc5
and dl, 0x7f
mov ecx, eax
mov eax, dword [esp + 0xc]
mov byte [eax + ecx - 1], dl
mov eax, dword [esp + 0x50]
add ecx, dword [eax]
mov dword [esp + 0x10], ecx
mov dword [eax], ecx
jmp 0x10196ca9
mov edx, dword [esp + 0x1c]
mov eax, dword [edx]
mov ecx, dword [esp + 0x18]
mov byte [eax], cl
mov eax, dword [edx]
mov dword [esp + 0x10], eax
xor eax, eax
inc eax
mov dword [esp + 4], eax
mov eax, dword [esp + 0xc]
mov ecx, eax
mov edi, dword [esp + 0x40]
jmp 0x101966ed
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 4], eax
jmp 0x10196bc5
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x10196ca9
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax]
mov eax, dword [esp + 0x50]
add ecx, dword [eax]
mov dword [esp + 0xc], ecx
xor eax, eax
mov ebx, dword [esp + 0x24]
xor edi, edi
xor esi, esi
jmp 0x1019672a
mov ecx, dword [esp + 0x54]
call fcn.10185da0
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x3c]
jmp 0x10196ed6
mov dword [esp + 0xf4], esi
mov edx, dword [esp + 0xc8]
mov eax, dword [esp + 0xcc]
mov ecx, dword [esp + 0xc]
mov edi, ecx
sub edi, eax
cmovl eax, ecx
mov dword [esp + 0xc], edx
test edx, edx
je 0x10197a69
cmp dword [esp + 4], 0
je 0x10197a69
test eax, eax
je 0x10197a69
push eax
push dword [esp + 0x10]
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10197a6b
mov eax, edi
xor ecx, ecx
test eax, eax
cmovg ecx, dword [esp + 0x2c]
mov dword [esp + 0x30], ecx
push dword [esp + 0xc]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esp + 0xe4]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 0x30]
mov dword [esp + 0x2c], eax
test esi, esi
jne 0x10197dd0
mov dword [esp + 0xc], esi
cmp dword [esp + 0x2c], 0
je 0x10197dd4
mov eax, dword [esp + 0x1c]
movsx eax, byte [eax]
mov dword [esp + 4], eax
dec al
cmp al, 0xf
jae 0x10197df9
mov edx, dword [esp + 0x40]
mov esi, edx
mov eax, dword [esp + 0x38]
sub esi, eax
lea ecx, [esi + 1]
add esi, 0x10
test ecx, ecx
cmovns esi, ecx
sar esi, 4
mov ecx, dword [esp + 8]
mov dword [esp + 0xc], esi
mov dword [ecx], esi
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], edx
mov eax, dword [esp + 0x34]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x28]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], ebx
cmp byte [esp + 4], 0xe
ja 0x10197b64
mov eax, dword [esp + 4]
lea ecx, [eax - 0xf]
mov edx, eax
shl edx, 5
add edx, dword [esp + 0x80]
lea esi, [eax + 1]
imul esi, dword [esp + 0xc]
mov edi, esi
sar edi, 0x1f
mov eax, dword [esp + 8]
mov ebx, dword [eax + 0x18]
add ebx, esi
adc edi, dword [eax + 0x1c]
mov dword [edx], ebx
mov dword [edx + 4], edi
add edx, 0x20
add esi, dword [esp + 0xc]
inc ecx
jne 0x10197b32
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x38], ecx
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 4]
mov ebx, eax
shl ebx, 5
mov edx, dword [esp + 0xc]
imul edx, eax
mov ecx, edx
sar ecx, 0x1f
add edx, dword [esp + 0x38]
adc ecx, dword [esp + 0x24]
mov eax, dword [esp + 8]
mov dword [eax + ebx + 0x38], edx
mov dword [eax + ebx + 0x3c], ecx
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xe8]
mov ecx, dword [esp + 0x18]
cmp ecx, edx
cmovg edx, ecx
add edx, 0x14
lea edi, [eax + ebx]
add edi, 0x4c
lea esi, [esp + 0xf4]
mov ecx, edi
push esi
call fcn.101985d0
add esp, 4
mov esi, dword [esi]
test esi, esi
jne 0x1019795d
mov esi, dword [esp + 0x18]
push esi
push dword [esp + 0x20]
push dword [edi]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [eax + ebx + 0x50], esi
mov eax, dword [edi]
xorps xmm0, xmm0
movups xmmword [eax + esi], xmm0
mov dword [eax + esi + 0x10], 0
cmp byte [esp + 4], 0
js 0x10197e0f
xor esi, esi
mov ebx, dword [esp + 4]
shl ebx, 5
mov eax, dword [esp + 8]
mov edx, dword [eax + ebx + 0x4c]
mov dword [esp + 0xc], 0
test edx, edx
jne 0x10197c43
push dword [esp + 0xc8]
call sym.nss3.dll_sqlite3_free
add esp, 4
cmp dword [esp + 4], 0
jle 0x10197dd4
dec dword [esp + 4]
cmp dword [esp + 0xc], 0
je 0x10197bfe
jmp 0x10197dd4
lea esi, [esp + 0xb0]
mov ecx, esi
mov eax, dword [esp + 8]
push dword [eax + ebx + 0x50]
call fcn.10198630
add esp, 4
cmp dword [esi], 0
je 0x10197c75
test eax, eax
jne 0x10197c75
lea esi, [esp + 0xb0]
mov ecx, esi
call fcn.10198690
jmp 0x10197c5c
mov dword [esp + 0xf4], eax
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 8]
lea ecx, [eax + ebx]
add ecx, 0x40
mov dword [esp + 0x18], ecx
mov edi, edx
lea eax, [esp + 0xf4]
push eax
call fcn.101985d0
add esp, 4
mov esi, dword [esp + 0xf4]
mov dword [esp + 0xc], esi
test esi, esi
jne 0x10197c19
test edi, edi
jle 0x10197cd0
push edi
push dword [esp + 0xcc]
mov eax, dword [esp + 0x20]
push dword [eax]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [eax + ebx + 0x44], edi
xor esi, esi
mov dword [esp + 0xc], 0
cmp dword [esp + 4], 0
jle 0x10197c19
xor ecx, ecx
lea eax, [esp + 0xe4]
mov dword [eax], ecx
lea eax, [esp + 0xe0]
mov dword [eax], ecx
mov edi, eax
mov ecx, dword [esp + 4]
lea ebx, [ecx - 1]
shl ebx, 5
mov edx, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov esi, dword [esp + 8]
mov dword [esi + ebx + 0x38], edx
mov dword [esi + ebx + 0x3c], eax
mov ecx, dword [esp + 0x14]
push edi
lea edi, [esp + 0xe8]
push edi
push eax
call fcn.10186bc0
add esp, 0xc
mov dword [esp + 0xf4], eax
lea eax, [esp + 0xe0]
mov eax, dword [eax]
mov ecx, dword [esp + 0x14]
mov edx, dword [ecx + 0xe8]
cmp eax, edx
mov dword [esp + 0xc], eax
cmovg edx, eax
add edx, 0x14
lea edi, [esi + ebx]
add edi, 0x4c
mov ecx, edi
lea eax, [esp + 0xf4]
push eax
call fcn.101985d0
add esp, 4
mov esi, dword [esp + 0xf4]
test esi, esi
jne 0x10197db8
push dword [esp + 0xc]
push dword [esp + 0xe8]
push dword [edi]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0xc]
mov dword [eax + ebx + 0x50], ecx
mov eax, dword [edi]
xorps xmm0, xmm0
movups xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x10], 0
push dword [esp + 0xe4]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov dword [esp + 0xc], esi
jmp 0x10197c19
mov dword [esp + 0xc], esi
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
cmp dword [esp + 0xc], 0
jne 0x10197741
mov esi, eax
mov dword [esp + 0xf4], eax
jmp 0x10197741
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, 0x10b
jmp 0x10197741
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
jmp 0x10197deb