Function at 0x10197fd0
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 [0x101f1014]
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 0x10198030
mov dword [esp + 0x58], ebx
mov dword [esp + 0x14], edi
xor edi, edi
mov ecx, 0x288
xor edx, edx
call fcn.10142fa0
test eax, eax
jne 0x10198048
mov ecx, dword [esp + 0xf8]
xor ecx, ebp
call fcn.10157a00
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.10188aa0
add esp, 8
mov esi, eax
test eax, eax
je 0x1019808d
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 0x10198030
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 0x1019813f
mov ecx, esi
xor edx, edx
call fcn.1015d350
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov edi, eax
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
xor edx, edx
call fcn.1015d350
mov ecx, eax
call fcn.1015c7f0
mov ebx, eax
mov ecx, esi
call fcn.1015d3d0
test edi, edi
je 0x1019813f
test ebx, ebx
jle 0x10198138
call sym.nss3.dll_sqlite3_initialize
test eax, eax
je 0x10198112
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, 7
jmp 0x10198fb4
mov ecx, ebx
xor edx, edx
call fcn.10142fa0
test eax, eax
je 0x101980ff
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 0x10198fb4
test esi, esi
mov ebx, dword [esp + 8]
jne 0x10198073
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.10188aa0
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 0x10198255
mov ecx, esi
xor edx, edx
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov dword [esp + 0x28], eax
mov dword [esp + 0x20], edx
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
xor edx, edx
inc edx
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov edi, eax
mov ecx, esi
call fcn.1015d3d0
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 0x101983ed
mov edx, dword [esp + 0x9c]
test edx, edx
mov ecx, dword [esp + 0x20]
je 0x101983f1
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 0x10198330
lea eax, [edx - 1]
mov ecx, eax
sar ecx, 0x1f
and ecx, eax
lea eax, [edx - 1]
test eax, eax
jle 0x10198323
cmp byte [ebx + edx - 2], 0
mov edx, eax
js 0x101982c8
jmp 0x10198f50
cmp eax, 2
jl 0x10198fbd
lea edi, [eax - 1]
cmp byte [ebx + eax - 2], 0
mov eax, edi
js 0x101982dd
jmp 0x10198fbf
cmp dword [ebx], 0
jg 0x101992f6
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 0x101982f7
jmp 0x10199791
mov eax, ecx
cmp dword [esp + 0x10], 0
jle 0x10198f50
mov dword [esp + 0xac], esi
mov edx, dword [esp + 4]
test edx, edx
js 0x101983f7
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.10157cd0
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.10157cd0
mov ecx, ebx
cmp dword [esp + 0x3c], eax
sbb dword [esp + 0x18], edx
mov edx, dword [esp + 4]
mov ebx, dword [esp + 8]
jge 0x10198409
mov eax, dword [esp + 0x10]
mov dword [esp + 0x9c], eax
xor eax, eax
mov ecx, dword [esp + 0x20]
jmp 0x1019842f
mov eax, dword [ebx]
test eax, eax
jle 0x101983b2
test esi, esi
je 0x101983d3
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 0x101983a8
jmp 0x101996f7
mov edx, dword [ebx - 0x18]
mov ecx, dword [esp + 0x14]
push eax
push dword [ebx - 4]
push dword [ebx - 0x14]
call fcn.10197230
add esp, 0xc
mov esi, eax
jmp 0x101983b2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 4]
jmp 0x10198431
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 0x10198f74
mov dword [esp + 4], edx
mov edx, 0x10b
test ecx, ecx
js 0x10198f76
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
neg eax
sbb dword [esp + 0xc], ecx
jl 0x10198f76
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 0x101986d7
mov dword [esp + 0xb0], edi
mov ecx, dword [esp + 0x14]
mov edx, 8
push edi
lea eax, [esp + 0xb4]
push eax
call fcn.10188aa0
add esp, 8
test eax, eax
jne 0x10198648
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.1015d350
mov ecx, eax
call fcn.1015c880
mov dword [esp + 0x18], eax
mov ecx, esi
call fcn.1015d3d0
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 0x10198ea5
jmp 0x10198650
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 0x10199089
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.1015d350
mov ecx, eax
call fcn.1015c7f0
mov dword [esp + 0x3c], eax
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
mov edx, 4
call fcn.1015d350
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov dword [esp + 0x30], eax
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
mov edx, 3
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], edx
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
mov edx, 2
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov dword [esp + 0x24], eax
mov dword [esp + 0x4c], edx
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
xor edx, edx
inc edx
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov ecx, esi
call fcn.1015d3d0
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.10188830
add esp, 0x24
mov ecx, dword [esp + 8]
inc dword [ecx + 0x24c]
inc ebx
add edi, 4
test eax, eax
je 0x1019851c
jmp 0x10199085
test esi, esi
je 0x10198df6
jmp 0x101986d7
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x14]
mov edx, 0xf
push 0
lea eax, [esp + 0xb4]
push eax
call fcn.10188aa0
add esp, 8
test eax, eax
jne 0x101986ce
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 0x10198ec7
jmp 0x10198f14
mov esi, eax
mov dword [esp + 0xac], eax
mov ecx, dword [esp + 0x54]
call fcn.10187e40
test esi, esi
jne 0x10198f78
cmp dword [esp + 0x58], 0
mov edi, 0
mov edx, dword [esp + 0x90]
lea eax, [esp + 0x94]
jg 0x101981cf
jmp 0x10198f78
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 0x10198803
mov eax, dword [esp + 8]
mov eax, dword [eax + 0x44]
test eax, eax
jle 0x10198803
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 0x101987ff
inc edi
cmp eax, edi
jne 0x1019877a
mov dword [esp + 0x1c], eax
jmp 0x10198803
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 0x1019878d
jmp 0x10199a0e
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 0x101987ca
jmp 0x10199a28
mov dword [esp + 0x1c], edi
mov eax, dword [esp + 0x30]
sub eax, dword [esp + 0x1c]
mov dword [esp + 0x24], eax
jle 0x101999cb
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 0x10198848
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 0x10198898
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 0x101988cf
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x50]
mov eax, edx
test edx, edx
jle 0x10198b73
lea edx, [eax + ecx]
mov esi, dword [esp + 0x14]
cmp edx, dword [esi + 0xe8]
jle 0x10198b73
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.10197230
add esp, 0xc
mov dword [esp + 0xe8], eax
inc dword [esi + 4]
test eax, eax
jne 0x10198cc7
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 0x101989c9
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 0x101989c5
inc edi
cmp eax, edi
jne 0x101989b2
mov dword [esp + 0x24], eax
jmp 0x101989c9
mov dword [esp + 0x24], edi
mov eax, dword [esp + 0x5c]
sub eax, dword [esp + 0x24]
mov dword [esp + 0x48], eax
jle 0x10198cb4
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 0x10198a0c
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 0x10198a44
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 0x10198c1c
mov eax, dword [esp + 0x6c]
mov ecx, dword [esp + 4]
add ecx, eax
mov edx, dword [esp + 0x14]
cmp ecx, dword [edx + 0xe8]
jle 0x10198c1c
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.10197230
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 0x10198aec
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 0x10198cbc
mov eax, dword [esp + 0x40]
or eax, dword [esp + 0xc]
je 0x10198cbc
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
cmp eax, 0x10
jne 0x10198963
mov dword [esp + 0x2c], 0
jmp 0x10198cbc
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.1019a670
add esp, 4
mov esi, dword [esi]
test esi, esi
jne 0x10198bf8
mov eax, dword [esp + 8]
cmp dword [eax + 0x50], 0
jne 0x10198bc0
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.1019a8f0
add esp, 0x10
mov esi, eax
test eax, eax
jne 0x10198bf8
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
call fcn.101894c0
mov esi, eax
mov eax, dword [esp + 8]
mov eax, dword [eax + 4]
cmp eax, dword [esp + 0x58]
jl 0x10198c0e
cmp esi, 0x64
je 0x10199836
cmp esi, 0x64
je 0x1019870b
jmp 0x101999e0
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 0x10198c65
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0xe8]
mov ecx, dword [esp + 0x1c]
lea eax, [esp + 0xb0]
push eax
call fcn.1019a670
add esp, 4
cmp dword [esp + 0xb0], 0
je 0x10199a46
jmp 0x10199a6e
mov edx, dword [esp + 4]
add edx, dword [esp + 0x6c]
mov ecx, dword [esp + 0x1c]
lea esi, [esp + 0xb0]
push esi
call fcn.1019a670
add esp, 4
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x5c]
push esi
call fcn.1019a670
add esp, 4
mov eax, dword [esp + 0xb0]
mov dword [esp + 0x2c], eax
test eax, eax
jne 0x10198cbc
mov eax, dword [esp + 0x34]
cmp dword [eax + 0xc], 0
jne 0x10199a8c
jmp 0x10199a7d
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 0x10198cea
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 0x10198d1e
jmp 0x10198b77
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 0x10198d67
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 0x10198cbc
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 0x10198f35
mov eax, dword [esp + 4]
lea ebx, [eax*4]
mov ecx, ebx
xor edx, edx
call fcn.10142fa0
mov dword [esi], eax
mov esi, 7
test eax, eax
je 0x10198f40
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.10188aa0
add esp, 8
mov esi, eax
test eax, eax
jne 0x10198f40
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 0x1019851c
mov esi, eax
cmp dword [esp + 0x10], 0
je 0x1019863b
xor eax, eax
inc eax
mov dword [esp + 0xc], eax
cmp ecx, 1
je 0x10198650
jmp 0x1019863b
mov ecx, esi
xor edx, edx
call fcn.1015d350
movzx eax, word [eax + 0x10]
and eax, 0x3f
mov bl, byte [eax + 0x101b193a]
mov ecx, esi
call fcn.1015d3d0
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 0x10198f67
mov ebx, dword [esp + 8]
or byte [ebx + 0x244], 2
mov ecx, dword [esp + 0xc]
jmp 0x1019863b
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 0x1019863b
mov dword [esi], 0
mov esi, 7
mov dword [esp + 0xac], esi
mov ebx, dword [esp + 8]
jmp 0x101986d7
test eax, eax
mov ecx, 1
cmovle ecx, eax
dec ecx
lea edx, [esp + 0xb0]
jmp 0x101982dd
mov ecx, dword [esp + 0xc]
mov ebx, dword [esp + 8]
jmp 0x1019863b
mov edx, esi
mov esi, edx
cmp dword [esp + 0x60], 0
je 0x10198073
test esi, esi
jne 0x10198073
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.10188aa0
add esp, 8
mov esi, eax
test eax, eax
je 0x10198fff
mov ebx, dword [esp + 8]
jmp 0x10198073
mov edi, ecx
mov dword [esp + 0x9c], edi
lea ecx, [ebx + edi]
call fcn.10188d90
mov esi, eax
add esi, edi
movzx eax, byte [ebx + esi]
test al, al
js 0x101992da
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 0x10198330
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.1006ae70
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.100010b0
test eax, eax
jne 0x10198fb4
mov eax, dword [edi]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x10198fb4
mov ecx, dword [0x101f1078]
call dword [section..00cfg]
push edi
call ecx
add esp, 4
jmp 0x10198fb4
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 0x10198f47
xor esi, esi
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
cmp dword [eax + 0x24c], ecx
jne 0x10198f47
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.10188ec0
add esp, 8
mov dword [esp + 0xac], eax
test eax, eax
jne 0x101992ef
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x54]
call fcn.101894c0
mov dword [esp + 0xac], eax
mov dword [esp + 0x3c], eax
cmp eax, 0x64
je 0x10199127
cmp dword [esp + 0x3c], 0
jne 0x10199aab
mov eax, dword [esp + 8]
add eax, 0x28
mov dword [esp + 0x4c], eax
cmp dword [esp + 0x10], 0
je 0x1019939f
cmp dword [esp + 0x18], 0
jle 0x1019939f
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.10188aa0
add esp, 8
mov esi, eax
test eax, eax
jne 0x101997e1
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 0x101997d3
xor edx, edx
inc edx
mov esi, dword [esp + 0x10]
mov ecx, esi
mov dword [esp + 0x30], edx
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov dword [esp + 0x38], eax
mov dword [esp + 0x24], edx
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
mov edx, 2
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov dword [esp + 0x44], eax
mov dword [esp + 0x48], edx
mov ecx, esi
call fcn.1015d3d0
lea eax, [esp + 0xe8]
mov ecx, esi
mov edx, 3
mov esi, dword [esp + 0x4c]
push esi
push eax
call fcn.10197a50
add esp, 8
mov eax, dword [esi]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x10199261
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.1015d350
mov ecx, eax
call fcn.1015c7f0
mov dword [esp + 0x18], eax
mov ecx, esi
call fcn.1015d3d0
mov ecx, esi
mov edx, 4
call fcn.1015d350
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov edi, eax
mov ecx, esi
call fcn.1015d3d0
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x101998b8
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 0x101997e1
add ebx, esi
lea edx, [esp + 0xe8]
mov ecx, ebx
call fcn.10188be0
jmp 0x10198fe8
mov esi, eax
jmp 0x10198f47
mov dword [esp + 4], edi
test edi, edi
jne 0x101996f1
mov eax, dword [esp + 8]
lea ecx, [eax + 0x6c]
mov edx, 0xb
lea eax, [esp + 0xb0]
push eax
call fcn.1019a670
add esp, 4
mov esi, dword [esp + 0xb0]
test esi, esi
jne 0x10199388
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 0x10199345
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 0x101983a8
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.10188aa0
add esp, 8
mov esi, eax
test eax, eax
jne 0x101997e1
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 0x10199432
mov ecx, esi
xor edx, edx
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov edi, eax
mov ecx, esi
call fcn.1015d3d0
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, eax
test eax, eax
jne 0x101997e1
lea eax, [esp + 0xe8]
mov ecx, dword [esp + 0x14]
mov edx, 0xa
push 0
push eax
call fcn.10188aa0
add esp, 8
mov esi, eax
test eax, eax
jne 0x101997e1
mov esi, dword [esp + 0xe8]
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x101994c4
mov ecx, esi
xor edx, edx
call fcn.1015d350
mov ecx, eax
call fcn.1015c880
mov ebx, eax
mov dword [esp + 4], edx
mov ecx, esi
call fcn.1015d3d0
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 0x101997e1
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.10197230
add esp, 0xc
mov esi, eax
test eax, eax
jne 0x101997e1
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 0x101997e1
jg 0x1019938f
test esi, esi
jne 0x10199767
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 0x10199726
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.101978f0
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 0x10198f47
mov eax, dword [esp + 8]
cmp byte [eax + 0x30], 0
jne 0x10198f47
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.10196f50
add esp, 0xc
jmp 0x10198f47
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 0x101997f7
xor esi, esi
mov eax, dword [esp + 8]
cmp dword [eax], 0
jne 0x10199828
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 0x101982f7
cmp dword [esp + 0x3c], 0
jne 0x10199873
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.10199ec0
add esp, 0xc
mov esi, eax
mov dword [esp + 0xac], eax
mov eax, dword [edi]
test eax, eax
jne 0x1019988a
mov al, 1
mov dword [esp + 0x10], eax
jmp 0x10199810
mov eax, dword [esp + 8]
lea ecx, [eax + 0x40]
mov dword [esp + 0x70], ecx
add eax, 0x4c
mov dword [esp + 0x68], eax
jmp 0x1019870b
lea esi, [esp + 0xac]
lea ecx, [esp + 0x98]
mov edx, dword [esp + 0x28]
push esi
push eax
push dword [esp + 0x28]
call fcn.1019a570
add esp, 0xc
xor eax, eax
inc eax
mov dword [esp + 0x60], eax
mov esi, dword [esi]
jmp 0x101997f7
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.10188aa0
add esp, 8
test eax, eax
jne 0x101999f4
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 0x10199b3b
cmp edi, 0x64
jne 0x10199b3b
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.10188c60
add esp, 0xc
mov esi, eax
mov dword [esp + 0xf4], eax
test eax, eax
jne 0x10199b24
mov edx, dword [esp + 0xe4]
lea ecx, [esp + 0xb0]
push dword [esp + 0xe0]
call fcn.1019a6d0
add esp, 4
mov esi, eax
test eax, eax
jne 0x10199ac1
cmp dword [esp + 0xb0], 0
je 0x10199ac1
lea ecx, [esp + 0xb0]
call fcn.1019a730
jmp 0x101999a5
mov dword [esp + 0xac], 0x10b
mov esi, 0x10b
jmp 0x101997f7
mov dword [esp + 0xac], esi
test esi, esi
jne 0x101997f7
jmp 0x10199836
mov esi, eax
mov dword [esp + 0xf4], eax
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
jmp 0x101997e1
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 0x10198c65
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 0x10198d49
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 0x1019878d
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 4], eax
jmp 0x10198c65
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov dword [esp + 0x10], eax
jmp 0x10198d49
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 0x101987ca
mov ecx, dword [esp + 0x54]
call fcn.10187e40
mov ebx, dword [esp + 8]
mov edx, dword [esp + 0x3c]
jmp 0x10198f76
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 0x10199b09
cmp dword [esp + 4], 0
je 0x10199b09
test eax, eax
je 0x10199b09
push eax
push dword [esp + 0x10]
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x10199b0b
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 0x10199e70
mov dword [esp + 0xc], esi
cmp dword [esp + 0x2c], 0
je 0x10199e74
mov eax, dword [esp + 0x1c]
movsx eax, byte [eax]
mov dword [esp + 4], eax
dec al
cmp al, 0xf
jae 0x10199e99
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 0x10199c04
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 0x10199bd2
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.1019a670
add esp, 4
mov esi, dword [esi]
test esi, esi
jne 0x101999fd
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 0x10199eaf
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 0x10199ce3
push dword [esp + 0xc8]
call sym.nss3.dll_sqlite3_free
add esp, 4
cmp dword [esp + 4], 0
jle 0x10199e74
dec dword [esp + 4]
cmp dword [esp + 0xc], 0
je 0x10199c9e
jmp 0x10199e74
lea esi, [esp + 0xb0]
mov ecx, esi
mov eax, dword [esp + 8]
push dword [eax + ebx + 0x50]
call fcn.1019a6d0
add esp, 4
cmp dword [esi], 0
je 0x10199d15
test eax, eax
jne 0x10199d15
lea esi, [esp + 0xb0]
mov ecx, esi
call fcn.1019a730
jmp 0x10199cfc
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.1019a670
add esp, 4
mov esi, dword [esp + 0xf4]
mov dword [esp + 0xc], esi
test esi, esi
jne 0x10199cb9
test edi, edi
jle 0x10199d70
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 0x10199cb9
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.10188c60
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.1019a670
add esp, 4
mov esi, dword [esp + 0xf4]
test esi, esi
jne 0x10199e58
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 0x10199cb9
mov dword [esp + 0xc], esi
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
cmp dword [esp + 0xc], 0
jne 0x101997e1
mov esi, eax
mov dword [esp + 0xf4], eax
jmp 0x101997e1
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov esi, 0x10b
jmp 0x101997e1
push dword [esp + 0x10]
call sym.nss3.dll_sqlite3_reset
add esp, 4
jmp 0x10199e8b