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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0xf8
mov ebx, edx
mov edi, ecx
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0xf0], eax
xor eax, eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x98], eax
call sym.nss3.dll_sqlite3_initialize
mov esi, 7
test eax, eax
jne 0x1017cf90
mov dword [esp + 0x68], ebx
mov dword [esp + 0x10], edi
xor edi, edi
mov ecx, 0x280
xor edx, edx
call fcn.10144e50
test eax, eax
jne 0x1017cfa8
mov ecx, dword [esp + 0xf0]
xor ecx, ebp
call fcn.1014dc80
mov eax, esi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
mov ebx, eax
lea eax, [esp + 0xa8]
mov dword [eax], edi
mov dword [esp + 0x94], edi
mov ecx, dword [esp + 0x10]
mov edx, 0x16
push edi
push eax
call fcn.101737e0
add esp, 8
test eax, eax
je 0x1017cff9
mov dword [esp + 0xa4], eax
push ebx
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esp + 0x90]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov esi, dword [esp + 0xa4]
jmp 0x1017cf90
mov edi, dword [esp + 0xa8]
xor eax, eax
inc eax
push 0
push eax
push eax
push edi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push edi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x1017d0cb
mov dword [esp + 4], 0
mov ecx, edi
xor edx, edx
call fcn.10153260
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov esi, eax
mov ecx, edi
call fcn.101532e0
mov ecx, edi
xor edx, edx
call fcn.10153260
mov ecx, eax
call fcn.10077820
mov dword [esp + 0x20], eax
mov ecx, edi
call fcn.101532e0
mov dword [esp + 0x2c], esi
test esi, esi
je 0x1017d0cb
mov eax, dword [esp + 0x20]
test eax, eax
mov esi, eax
jle 0x1017d0b3
call sym.nss3.dll_sqlite3_initialize
test eax, eax
je 0x1017d08e
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov eax, 7
jmp 0x1017cfd1
mov ecx, dword [esp + 0x20]
xor edx, edx
call fcn.10144e50
test eax, eax
je 0x1017d07b
mov esi, dword [esp + 0x20]
mov dword [esp + 0x98], esi
mov dword [esp + 4], eax
mov dword [esp + 0x90], eax
push esi
push dword [esp + 0x30]
push dword [esp + 0xc]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esp + 0x94], esi
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 0xa4], eax
cmp dword [esp + 0x68], 0
jle 0x1017cfd8
test eax, eax
jne 0x1017cfd8
mov eax, dword [ebp + 8]
lea ecx, [ebx + 0x238]
mov dword [esp + 0x84], ecx
lea ecx, [ebx + 0x248]
mov dword [esp + 0x28], ecx
cmp eax, 2
mov edi, 2
cmovg edi, eax
lea eax, [ebx + 0x78]
mov dword [esp + 0x78], eax
lea eax, [ebx + 0x230]
mov dword [esp + 0x80], eax
lea eax, [ebx + 0x50]
mov dword [esp + 0x7c], eax
xor esi, esi
lea eax, [esp + 0x8c]
mov dword [esp + 0x2c], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x70], 0
mov dword [esp + 0x88], edi
mov ecx, dword [esp + 0x10]
mov edx, dword [ecx + 0x100]
mov dword [esp + 4], edx
mov dword [esp + 0x8c], esi
mov edx, 0x1c
push esi
push eax
call fcn.101737e0
add esp, 8
mov dword [esp + 0xa4], eax
xor eax, eax
mov esi, dword [esp + 0x8c]
push eax
push edi
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
xor edi, edi
dec edi
cmp eax, 0x64
jne 0x1017d1e1
mov ecx, esi
xor edx, edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], edx
mov ecx, esi
call fcn.101532e0
mov ecx, esi
xor edx, edx
inc edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov edi, eax
mov ecx, esi
call fcn.101532e0
shl dword [esp + 4], 0xa
mov dword [esp + 0xa0], edi
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 0xa4], eax
xor edx, edx
mov dword [esp + 0xc], eax
test eax, eax
jne 0x1017d383
mov eax, dword [esp + 0x94]
test eax, eax
mov esi, 0
mov ecx, dword [esp + 0x20]
je 0x1017d3c7
mov dword [esp + 0x1c], edi
mov dword [esp + 0xac], esi
mov dword [esp + 0xa8], esi
mov dword [esp + 0xe0], esi
mov esi, dword [esp + 0x90]
mov dword [esp + 0xc], 0x10b
cmp byte [esi + eax - 1], 0
mov dword [esp + 0x14], eax
js 0x1017d2c7
lea ecx, [eax - 1]
mov edx, ecx
sar edx, 0x1f
and edx, ecx
mov edi, eax
lea eax, [edi - 1]
test eax, eax
jle 0x1017d2bd
cmp byte [esi + edi - 2], 0
mov edi, eax
js 0x1017d262
jmp 0x1017df80
cmp eax, 2
jl 0x1017dfa0
lea edi, [eax - 1]
cmp byte [esi + eax - 2], 0
mov eax, edi
js 0x1017d277
jmp 0x1017dfa2
cmp dword [esi], 0
jg 0x1017e2df
push dword [esi - 4]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esi - 0x10]
call sym.nss3.dll_sqlite3_free
add esp, 4
add esi, 0xffffffe0
add edi, 0xffffffff
jb 0x1017d291
jmp 0x1017e7a9
mov eax, edx
test ecx, ecx
js 0x1017df80
mov eax, dword [esp + 0xc]
mov dword [esp + 0xa4], eax
cmp dword [esp + 0x1c], 0
js 0x1017d38b
mov esi, dword [esp + 4]
mov edi, esi
sar edi, 0x1f
push edi
push esi
push dword [esp + 0x28]
push dword [esp + 0x38]
call fcn.1014df60
mov dword [esp + 0x40], eax
mov dword [esp + 0x18], edx
mov eax, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
push edi
push esi
mov esi, eax
mov edi, ecx
push ecx
push eax
call fcn.1014df60
mov ecx, edi
cmp dword [esp + 0x40], eax
sbb dword [esp + 0x18], edx
jge 0x1017d399
mov eax, dword [esp + 0x14]
mov dword [esp + 0x94], eax
xor edx, edx
mov ecx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
jmp 0x1017d3c5
test ebx, ebx
jne 0x1017d348
mov eax, dword [esi]
test eax, eax
jg 0x1017d369
push dword [esi - 4]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esi - 0x10]
call sym.nss3.dll_sqlite3_free
add esp, 4
add esi, 0x20
dec edi
jne 0x1017d33e
jmp 0x1017e702
mov edx, dword [esi - 0x18]
mov ecx, dword [esp + 0x10]
push eax
push dword [esi - 4]
push dword [esi - 0x14]
call fcn.10183250
add esp, 0xc
mov ebx, eax
jmp 0x1017d348
xor esi, esi
mov ecx, dword [esp + 0x20]
jmp 0x1017d3c7
mov esi, dword [esp + 0xa8]
mov ecx, dword [esp + 0xac]
mov eax, dword [ebp + 8]
mov edi, dword [esp + 0x1c]
cmp edi, eax
cmovl edi, eax
mov eax, dword [esp + 0xe0]
cmp edi, eax
cmovge edi, eax
mov dword [esp + 0xa0], edi
xor eax, eax
inc eax
mov dword [esp + 0x70], eax
mov edx, eax
mov dword [esp + 0x2c], esi
xor esi, esi
test edi, edi
jle 0x1017df97
test ecx, ecx
js 0x1017ddd7
mov eax, dword [esp + 0x2c]
neg eax
sbb dword [esp + 4], ecx
jl 0x1017ddd7
mov dword [esp + 4], edx
mov dword [esp + 0x20], ecx
push 0x280
push 0
push ebx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebx + 0x244], 1
cmp dword [esp + 0xc], 0
jne 0x1017d691
mov dword [esp + 0xa8], esi
mov ecx, dword [esp + 0x10]
mov edx, 8
push esi
lea eax, [esp + 0xac]
push eax
call fcn.101737e0
add esp, 8
test eax, eax
mov dword [esp + 0x1c], edi
jne 0x1017d5d5
mov eax, dword [esp + 0x2c]
add eax, 1
mov ecx, dword [esp + 0x20]
adc ecx, 0
mov esi, dword [esp + 0xa8]
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.10153260
mov ecx, eax
call fcn.10078110
mov edi, eax
mov ecx, esi
call fcn.101532e0
push esi
xor esi, esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 0xa4], eax
test edi, edi
jne 0x1017def4
jmp 0x1017d5e4
push dword [esp + 0xc]
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
sete al
cmp edi, dword [esp + 0x1c]
setl cl
and cl, al
mov byte [esp + 0x38], cl
cmp cl, 1
jne 0x1017e069
mov eax, dword [ebx + 0x248]
mov dword [esp + 0x14], esi
add eax, esi
mov dword [esp + 0x18], eax
mov esi, dword [esp + 0xc]
mov ecx, esi
mov edx, 4
call fcn.10153260
mov ecx, eax
call fcn.10077820
mov dword [esp + 0x40], eax
mov ecx, esi
call fcn.101532e0
mov ecx, esi
mov edx, 4
call fcn.10153260
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov dword [esp + 0x30], eax
mov ecx, esi
call fcn.101532e0
mov ecx, esi
mov edx, 3
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov ecx, esi
call fcn.101532e0
mov ecx, esi
mov edx, 2
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], edx
mov ecx, esi
call fcn.101532e0
mov ecx, esi
xor edx, edx
inc edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp + 0x4c], eax
mov dword [esp + 0x24], edx
mov ecx, esi
call fcn.101532e0
mov ecx, edi
xor edx, edx
push dword [esp + 0x18]
push dword [esp + 0x44]
push dword [esp + 0x38]
push dword [esp + 0x50]
push dword [esp + 0x58]
push dword [esp + 0x64]
push dword [esp + 0x70]
push dword [esp + 0x40]
mov esi, dword [esp + 0x34]
push dword [esp + 0x6c]
call fcn.10173d10
add esp, 0x24
inc dword [ebx + 0x24c]
inc edi
add esi, 4
test eax, eax
je 0x1017d4ac
jmp 0x1017e06f
mov dword [esp + 0xa4], eax
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x10]
mov edx, 0xf
push 0
lea eax, [esp + 0xac]
push eax
call fcn.101737e0
add esp, 8
test eax, eax
jne 0x1017d68a
mov dword [esp + 8], ebx
mov ebx, dword [esp + 0x2c]
mov eax, ebx
add eax, 2
mov edi, dword [esp + 0x20]
mov ecx, edi
adc ecx, 0
mov esi, dword [esp + 0xa8]
push ecx
push eax
push 1
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov eax, ebx
add eax, 0x401
adc edi, 0
and eax, 0xfffffc00
push edi
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
xor ebx, ebx
cmp eax, 0x64
je 0x1017df14
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 0xa4], eax
test ebx, ebx
jne 0x1017df51
jmp 0x1017df44
xor esi, esi
test eax, eax
je 0x1017de3b
jmp 0x1017d691
mov dword [esp + 0xa4], eax
mov ecx, dword [esp + 0x28]
call fcn.10172030
mov ecx, dword [esp + 0xa4]
cmp dword [esp + 0x68], 0
jle 0x1017dde7
test ecx, ecx
mov edi, dword [esp + 0x88]
lea eax, [esp + 0x8c]
je 0x1017d156
jmp 0x1017dde7
mov esi, dword [edi + 0x270]
mov ebx, dword [edi + 0x274]
mov edx, 0
test ebx, ebx
jle 0x1017d70f
mov ecx, dword [edi + 0x44]
mov edx, 0
test ecx, ecx
jle 0x1017d70f
lea eax, [ebx - 1]
lea edx, [ecx - 1]
cmp eax, edx
mov eax, dword [edi + 0x40]
cmovb ecx, ebx
xor edx, edx
mov edi, edx
mov dl, byte [eax + edx]
cmp dl, byte [esi + edi]
mov edx, edi
jne 0x1017d70b
inc edx
cmp ecx, edx
jne 0x1017d6f8
mov edx, ecx
mov edi, dword [esp + 8]
mov dword [esp + 0x18], esi
mov eax, dword [edi + 0x27c]
lea esi, [ebx + eax]
inc esi
mov dword [esp + 0x48], esi
sub esi, edx
mov dword [esp + 4], esi
mov dword [esp + 0xc], ebx
mov dword [esp + 0x1c], eax
add eax, ebx
add eax, 2
mov dword [esp + 0x44], eax
sub eax, edx
mov ecx, dword [edi + 0x278]
mov dword [esp + 0x30], ecx
mov dword [esp + 0x14], edx
mov ebx, edx
xor edi, edi
xor esi, esi
mov ecx, dword [esp + 4]
mov edx, eax
inc edi
shrd ebx, esi, 7
shr esi, 7
lea eax, [ecx + 1]
mov dword [esp + 4], eax
mov eax, ebx
or eax, esi
lea eax, [edx + 1]
jne 0x1017d74e
mov esi, dword [esp + 0xc]
sub esi, dword [esp + 0x14]
mov ebx, esi
sar ebx, 0x1f
mov eax, edx
shrd esi, ebx, 7
shr ebx, 7
inc ecx
mov edx, esi
or edx, ebx
lea edx, [eax + 1]
jne 0x1017d779
mov edx, dword [esp + 0x1c]
mov ecx, edx
sar ecx, 0x1f
shrd edx, ecx, 7
shr ecx, 7
inc eax
mov esi, edx
or esi, ecx
jne 0x1017d795
mov edi, dword [esp + 8]
mov ebx, dword [edi + 0x50]
lea esi, [ebx + eax]
test ebx, ebx
jle 0x1017d7c1
mov ecx, dword [esp + 0x10]
cmp esi, dword [ecx + 0xe8]
jg 0x1017d846
mov dword [esp + 4], ebx
mov ecx, eax
sar ecx, 0x1f
mov edx, dword [esp + 0x40]
add dword [edx], eax
adc dword [edx + 4], ecx
cmp dword [edi + 0x54], esi
jge 0x1017d8f3
mov ebx, esi
mov eax, dword [esp + 0x58]
mov esi, dword [eax]
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017d813
test ebx, ebx
mov edx, 0
cmovns edx, ebx
mov ecx, esi
push 0
call fcn.1000f200
add esp, 4
test eax, eax
jne 0x1017d8e6
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
mov ecx, dword [edi + 4]
mov dword [esp + 4], eax
cmp eax, 0x64
jne 0x1017d834
cmp ecx, dword [esp + 0x68]
jge 0x1017e802
mov eax, dword [esp + 4]
cmp eax, 0x64
je 0x1017d6c7
jmp 0x1017e919
mov edx, dword [edi + 0x38]
mov ecx, dword [esp + 0x10]
push ebx
push dword [edi + 0x4c]
push dword [edi + 0x3c]
call fcn.10183250
add esp, 0xc
inc dword [edi + 4]
mov dword [esp + 4], eax
test eax, eax
je 0x1017d950
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 ecx, dword [esp + 0xc]
mov eax, ecx
sar eax, 0x1f
mov esi, dword [esp + 0x48]
mov edx, dword [esp + 0x44]
mov edi, edx
shrd ecx, eax, 7
shr eax, 7
inc esi
mov edx, ecx
or edx, eax
lea edx, [edi + 1]
jne 0x1017d890
mov ecx, dword [esp + 0x1c]
mov eax, ecx
sar eax, 0x1f
shrd ecx, eax, 7
shr eax, 7
inc edi
mov edx, ecx
or edx, eax
jne 0x1017d8ac
mov eax, edi
sar eax, 0x1f
mov ecx, dword [esp + 0x40]
mov esi, edi
add dword [ecx], edi
adc dword [ecx + 4], eax
cmp dword [esp + 4], 0
mov edi, dword [esp + 8]
jne 0x1017d813
mov dword [esp + 4], 0
jmp 0x1017d7d3
mov dword [edi + 0x54], ebx
mov dword [edi + 0x4c], eax
mov eax, dword [edi + 0x50]
mov dword [esp + 4], eax
cmp dword [esp + 4], 0
jne 0x1017d90b
mov eax, dword [esp + 8]
mov dword [eax + 0x50], 1
mov eax, dword [eax + 0x4c]
mov byte [eax], 0
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x74]
push dword [esp + 0x1c]
push dword [esp + 0x34]
push dword [esp + 0x14]
push dword [esp + 0x24]
call fcn.10184310
add esp, 0x10
mov dword [esp + 0xa4], eax
test eax, eax
mov edi, dword [esp + 8]
jne 0x1017d81e
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
call fcn.10172b00
jmp 0x1017d817
mov ecx, dword [esp + 0x14]
lea eax, [ecx + 1]
mov dword [esp + 0x64], eax
mov eax, dword [esp + 8]
mov edx, dword [eax + 0x38]
mov dword [esp + 0x4c], edx
mov eax, dword [eax + 0x3c]
mov dword [esp + 0x50], eax
lea eax, [ecx + 2]
mov dword [esp + 0x6c], eax
xor eax, eax
inc eax
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x38]
shl ecx, 5
mov eax, dword [esp + 8]
mov dword [esp + 0x24], ecx
mov eax, dword [eax + ecx + 0x44]
test eax, eax
jle 0x1017d9c8
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x24]
mov edx, dword [ecx + edx + 0x40]
lea ecx, [eax - 1]
mov esi, dword [esp + 0x14]
cmp esi, ecx
cmovb ecx, esi
inc ecx
xor edi, edi
mov bl, byte [edx + edi]
mov esi, dword [esp + 0x18]
cmp bl, byte [esi + edi]
jne 0x1017db3b
inc edi
cmp ecx, edi
jne 0x1017d9ad
mov dword [esp + 0x34], ecx
jmp 0x1017d9d0
mov dword [esp + 0x34], 0
mov ecx, dword [esp + 0x64]
sub ecx, dword [esp + 0x34]
mov dword [esp + 0x3c], ecx
jle 0x1017ddca
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x24]
add ecx, edx
add ecx, 0x44
mov dword [esp + 0x60], ecx
xor ecx, ecx
mov edi, dword [esp + 0x6c]
mov esi, dword [esp + 0x34]
sub edi, esi
mov edx, dword [esp + 0x3c]
mov ebx, edi
shrd esi, ecx, 7
shr ecx, 7
inc edx
mov edi, esi
or edi, ecx
lea edi, [ebx + 1]
jne 0x1017da03
mov edx, dword [esp + 0x3c]
mov ecx, edx
sar ecx, 0x1f
shrd edx, ecx, 7
shr ecx, 7
inc ebx
mov esi, edx
or esi, ecx
jne 0x1017da1f
mov ecx, dword [esp + 8]
mov esi, dword [esp + 0x24]
lea edx, [ecx + esi]
add edx, 0x50
mov dword [esp + 0x5c], edx
mov ecx, dword [ecx + esi + 0x50]
mov dword [esp + 4], ecx
test eax, eax
je 0x1017db44
mov eax, dword [esp + 4]
add eax, ebx
mov ecx, dword [esp + 0x10]
cmp eax, dword [ecx + 0xe8]
jle 0x1017db44
mov esi, dword [esp + 8]
mov edi, dword [esp + 0x24]
lea eax, [esi + edi]
add eax, 0x38
mov dword [esp + 0x3c], eax
mov edx, dword [esi + edi + 0x38]
mov ecx, dword [esp + 0x10]
push dword [esp + 4]
push dword [esi + edi + 0x4c]
push dword [esi + edi + 0x3c]
call fcn.10183250
add esp, 0xc
mov dword [esp + 4], eax
mov eax, dword [esi + edi + 0x4c]
mov ecx, dword [esp + 0x38]
mov byte [eax], cl
mov ebx, dword [esp + 0x4c]
add ebx, 1
mov ecx, dword [esp + 0x50]
adc ecx, 0
mov eax, dword [esi + edi + 0x4c]
mov edi, ecx
xor ecx, ecx
inc ecx
mov edx, ebx
or bl, 0x80
mov esi, edi
shld esi, edx, 0x19
mov byte [eax + ecx], bl
mov ebx, esi
shr edi, 7
inc ecx
or esi, edi
jne 0x1017dab8
and dl, 0x7f
mov byte [eax + ecx - 1], dl
mov eax, dword [esp + 0x5c]
mov dword [eax], ecx
mov edx, dword [esp + 0x3c]
mov eax, dword [edx]
mov ecx, dword [edx + 4]
mov dword [esp + 0x4c], eax
add eax, 1
mov dword [esp + 0x50], ecx
adc ecx, 0
mov dword [edx], eax
mov dword [edx + 4], ecx
mov eax, dword [esp + 0x60]
mov dword [eax], 0
cmp dword [esp + 4], 0
jne 0x1017d86b
mov eax, dword [esp + 0x4c]
or eax, dword [esp + 0x50]
je 0x1017d86b
mov eax, dword [esp + 0x38]
inc eax
mov dword [esp + 4], 0
mov dword [esp + 0x38], eax
cmp eax, 0x10
jne 0x1017d97b
jmp 0x1017d86b
mov dword [esp + 0x34], edi
jmp 0x1017d9d0
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
add eax, ecx
add eax, 0x4c
mov dword [esp + 0x54], eax
cmp dword [esp + 4], 0
je 0x1017dca8
mov edx, dword [esp + 4]
add edx, ebx
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
cmp dword [eax + ecx + 0x54], edx
jge 0x1017dbc1
mov esi, edx
mov eax, dword [esp + 0x54]
mov edi, dword [eax]
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017d86b
xor edx, edx
test esi, esi
cmovg edx, esi
mov ecx, edi
push 0
call fcn.1000f200
add esp, 4
test eax, eax
je 0x1017d86b
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x24]
add ecx, edx
add ecx, 0x54
mov dword [ecx], esi
mov ecx, dword [esp + 0x54]
mov dword [ecx], eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
cmp dword [eax + edx + 0x48], ecx
jle 0x1017dcff
mov eax, dword [esp + 0x60]
cmp dword [eax], 0
je 0x1017ddbf
xor ecx, ecx
mov eax, dword [esp + 0x54]
mov edx, dword [eax]
mov eax, dword [esp + 0x5c]
add edx, dword [eax]
mov eax, edx
mov edi, dword [esp + 0x34]
xor esi, esi
mov edx, edi
mov ebx, edx
or bl, 0x80
mov edi, esi
shld edi, edx, 0x19
mov byte [eax + ecx], bl
shr esi, 7
inc ecx
mov ebx, edi
or ebx, esi
jne 0x1017dbfa
and dl, 0x7f
mov byte [eax + ecx - 1], dl
mov eax, dword [esp + 0x5c]
add ecx, dword [eax]
mov edi, ecx
mov dword [eax], ecx
mov esi, dword [esp + 0x3c]
mov edx, esi
sar edx, 0x1f
mov eax, dword [esp + 0x54]
add edi, dword [eax]
xor ecx, ecx
mov ebx, esi
mov eax, ebx
or al, 0x80
mov esi, edx
shld esi, ebx, 0x19
mov byte [edi + ecx], al
shr edx, 7
inc ecx
mov eax, esi
or eax, edx
jne 0x1017dc36
and bl, 0x7f
mov byte [edi + ecx - 1], bl
mov ebx, dword [esp + 0x5c]
mov eax, dword [ebx]
lea edx, [eax + ecx]
mov dword [ebx], edx
mov edx, dword [esp + 0x54]
add eax, dword [edx]
add eax, ecx
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x34]
add ecx, esi
mov edi, dword [esp + 0x3c]
push edi
push ecx
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
add dword [ebx], edi
mov edi, dword [esp + 0x64]
push edi
push esi
mov esi, dword [esp + 0x68]
push dword [esi - 4]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [esi], edi
mov dword [esp + 4], 0
jmp 0x1017d86b
mov eax, dword [esp + 0x10]
mov edi, dword [eax + 0xe8]
mov eax, dword [esp + 0x54]
mov esi, dword [eax]
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
cmp dword [eax + ecx + 0x54], edi
jge 0x1017dd52
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017d86b
xor edx, edx
test edi, edi
cmovns edx, edi
mov ecx, esi
push 0
call fcn.1000f200
add esp, 4
test eax, eax
jne 0x1017e93f
jmp 0x1017d86b
mov eax, dword [esp + 0x60]
mov esi, dword [eax - 4]
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017d86b
mov ecx, esi
mov edx, dword [esp + 0x64]
push 0
call fcn.1000f200
add esp, 4
test eax, eax
je 0x1017d86b
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0x24]
add ecx, edx
add ecx, 0x48
mov edx, dword [esp + 0x64]
mov dword [ecx], edx
mov ecx, dword [esp + 0x60]
mov dword [ecx - 4], eax
jmp 0x1017dbd7
mov eax, dword [esp + 0x38]
mov byte [esi], al
mov eax, dword [esp + 0x54]
mov eax, dword [eax]
mov dword [esp + 0x38], eax
xor ecx, ecx
inc ecx
mov dword [esp + 4], ecx
mov eax, dword [esp + 0x4c]
mov edx, eax
or dl, 0x80
mov esi, dword [esp + 0x50]
mov edi, esi
mov dword [esp + 0x6c], eax
shld edi, eax, 0x19
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x38]
mov byte [ecx + eax], dl
shr esi, 7
inc eax
mov dword [esp + 4], eax
mov dword [esp + 0x4c], edi
mov edx, edi
mov dword [esp + 0x50], esi
or edx, esi
jne 0x1017dd69
mov ecx, dword [esp + 0x6c]
and cl, 0x7f
mov edx, dword [esp + 4]
mov eax, dword [esp + 0x38]
mov byte [eax + edx - 1], cl
mov eax, dword [esp + 0x5c]
mov dword [eax], edx
jmp 0x1017db60
mov eax, dword [esp + 0x5c]
mov edi, dword [eax]
jmp 0x1017dc25
mov dword [esp + 4], 0x10b
jmp 0x1017d86b
mov dword [esp + 0xa4], 0x10b
mov ecx, 0x10b
test ecx, ecx
jne 0x1017cfd8
cmp dword [esp + 0x70], 0
je 0x1017cfd8
mov dword [esp + 8], ebx
xor ebx, ebx
mov dword [esp + 0xa8], ebx
mov ecx, dword [esp + 0x10]
mov edx, 0x17
push ebx
lea eax, [esp + 0xac]
push eax
call fcn.101737e0
add esp, 8
mov edi, eax
test eax, eax
je 0x1017dfe1
mov dword [esp + 0xa4], edi
mov ebx, dword [esp + 8]
jmp 0x1017cfd8
mov dword [esp + 0x3c], edi
mov dword [esp + 0xa8], esi
mov edi, dword [esp + 0x28]
mov dword [edi + 0x34], esi
mov dword [edi + 0x30], esi
xorps xmm0, xmm0
movups xmmword [edi + 0x20], xmm0
movups xmmword [edi + 0x10], xmm0
movups xmmword [edi], xmm0
call sym.nss3.dll_sqlite3_initialize
test eax, eax
jne 0x1017df65
mov eax, dword [esp + 0x1c]
lea esi, [eax*4]
mov ecx, esi
xor edx, edx
call fcn.10144e50
mov edx, eax
mov dword [edi], eax
mov eax, 7
test edx, edx
mov ecx, edi
je 0x1017df72
push esi
xor esi, esi
push esi
push edx
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov ecx, dword [esp + 0x10]
mov edx, 0xc
push esi
lea eax, [esp + 0xac]
push eax
call fcn.101737e0
mov ecx, dword [esp + 0x30]
add esp, 8
test eax, eax
jne 0x1017df72
mov eax, dword [esp + 0xa8]
push dword [esp + 0x20]
push dword [esp + 0x30]
push 1
mov dword [esp + 0x18], eax
push eax
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov dword [esp + 0x34], 0
xor esi, esi
xor edi, edi
jmp 0x1017d4ac
cmp dword [esp + 4], 0
je 0x1017d680
xor ecx, ecx
inc ecx
mov dword [esp + 0xc], ecx
cmp edi, 1
je 0x1017d5e4
jmp 0x1017d680
mov ecx, esi
xor edx, edx
call fcn.10153260
movzx eax, word [eax + 8]
and eax, 0x3f
mov al, byte [eax + 0x1019c83a]
mov byte [esp + 0x14], al
mov ecx, esi
call fcn.101532e0
xor ebx, ebx
cmp byte [esp + 0x14], 5
sete bl
jmp 0x1017d661
mov edi, dword [esp + 0xc]
mov ebx, dword [esp + 8]
jmp 0x1017d67e
mov ebx, dword [esp + 8]
or byte [ebx + 0x244], 2
mov edi, dword [esp + 0xc]
jmp 0x1017d67e
mov dword [edi], 0
mov eax, 7
mov ecx, edi
mov dword [esp + 0xa4], eax
xor esi, esi
jmp 0x1017d695
test eax, eax
mov ecx, 1
cmovle ecx, eax
dec ecx
lea edx, [esp + 0xa8]
jmp 0x1017d277
mov ecx, dword [esp + 0xc]
jmp 0x1017dde7
mov edi, ecx
mov dword [esp + 0x94], edi
lea ecx, [esi + edi]
call fcn.10173490
add eax, edi
movzx ecx, byte [esi + eax]
test cl, cl
js 0x1017e2c6
mov dword [esp + 0xe0], ecx
inc eax
cmp eax, dword [esp + 0x14]
mov ecx, 0x10b
mov eax, 0
cmove ecx, eax
mov dword [esp + 0xc], ecx
jmp 0x1017d2c7
mov esi, dword [esp + 0xa8]
xor eax, eax
inc eax
push ebx
push eax
push eax
push esi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov eax, dword [esp + 0x94]
mov edi, eax
sar edi, 0x1f
mov ecx, esi
mov edx, 2
push ebx
push ebx
push edi
push eax
push dword [esp + 0xa0]
call fcn.10001580
add esp, 0x14
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov edi, eax
mov ecx, esi
mov edx, 2
call fcn.10001670
test eax, eax
jne 0x1017de2b
mov eax, dword [esi]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x1017de2b
mov ecx, dword [0x101db078]
call dword [section..00cfg]
push esi
call ecx
add esp, 4
jmp 0x1017de2b
mov ecx, dword [esp + 0xc]
jmp 0x1017e077
mov ecx, dword [esp + 0xc]
mov dword [esp + 0x34], eax
push ecx
call sym.nss3.dll_sqlite3_reset
add esp, 4
cmp byte [esp + 0x38], 0
cmovne eax, dword [esp + 0x34]
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x1017e7e2
mov eax, dword [esp + 0x1c]
cmp dword [ebx + 0x24c], eax
jne 0x1017e7e2
mov eax, dword [esp + 0x84]
mov dword [ebx + 0x254], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
push dword [ebx + 0x23c]
mov dword [esp + 0xc], ebx
push dword [ebx + 0x238]
call fcn.101727c0
add esp, 8
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x1017e7de
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x28]
call fcn.10172b00
mov dword [esp + 0xa4], eax
mov dword [esp + 0x1c], eax
cmp eax, 0x64
je 0x1017e10d
cmp dword [esp + 0x1c], 0
jne 0x1017e926
mov eax, dword [esp + 8]
add eax, 0x28
mov dword [esp + 0x40], eax
cmp dword [esp + 4], 0
je 0x1017e396
cmp dword [esp + 0x3c], 0
jle 0x1017e396
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x270]
mov dword [esp + 0x18], ecx
mov eax, dword [eax + 0x274]
mov dword [esp + 0xc], eax
xor esi, esi
lea eax, [esp + 0xec]
mov dword [eax], esi
mov ecx, dword [esp + 0x10]
mov edx, 0x20
push esi
push eax
call fcn.101737e0
add esp, 8
mov dword [esp + 4], eax
test eax, eax
jne 0x1017edcf
mov edi, dword [esp + 0x3c]
dec edi
mov dword [esp + 0xe4], esi
mov dword [esp + 0xe0], esi
mov eax, dword [esp + 0x2c]
add eax, 1
mov ecx, dword [esp + 0x20]
adc ecx, esi
mov ebx, dword [esp + 0xec]
push ecx
push eax
push 1
push ebx
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push esi
mov dword [esp + 0x40], edi
push edi
push 2
push ebx
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov dword [esp + 0x14], ebx
push ebx
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x1017edbf
xor edx, edx
inc edx
mov esi, dword [esp + 0x14]
mov ecx, esi
mov ebx, edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp + 0x48], eax
mov dword [esp + 0x44], edx
mov ecx, esi
call fcn.101532e0
mov ecx, esi
mov edx, 2
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], edx
mov ecx, esi
call fcn.101532e0
lea eax, [esp + 0xe0]
mov ecx, esi
mov edx, 3
mov esi, dword [esp + 0x40]
push esi
push eax
call fcn.10183f00
add esp, 8
mov eax, dword [esi]
mov ecx, dword [esi + 4]
test ecx, ecx
jns 0x1017e249
xor edx, edx
neg eax
sbb edx, ecx
mov ecx, dword [esp + 0x40]
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 + 0x14]
mov ecx, esi
mov edx, 4
call fcn.10153260
mov ecx, eax
call fcn.10077820
mov dword [esp + 0x30], eax
mov ecx, esi
call fcn.101532e0
mov ecx, esi
mov edx, 4
call fcn.10153260
push eax
call sym.nss3.dll_sqlite3_value_blob
add esp, 4
mov edi, eax
mov ecx, esi
call fcn.101532e0
mov dword [esp + 0x58], edi
test edi, edi
jne 0x1017e812
push dword [esp + 0x14]
call sym.nss3.dll_sqlite3_reset
add esp, 4
cmp dword [esp + 0x30], 0
mov eax, 0x10b
mov ecx, 7
cmove ecx, eax
mov dword [esp + 4], ecx
jmp 0x1017edcf
add esi, eax
lea edx, [esp + 0xe0]
mov edi, eax
mov ecx, esi
call fcn.10173e30
add eax, edi
jmp 0x1017dfc7
mov dword [esp + 0x1c], edi
test edi, edi
jne 0x1017e7eb
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
cmp dword [esp + 4], 0
jne 0x1017e7f1
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x6c]
cmp dword [eax + 0x74], 0xa
jg 0x1017e348
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017e7f1
mov ecx, esi
mov edx, 0xb
push 0
call fcn.1000f200
add esp, 4
test eax, eax
je 0x1017e7f1
mov esi, eax
mov eax, dword [esp + 8]
mov dword [eax + 0x74], 0xb
mov dword [eax + 0x6c], esi
mov byte [esi], 1
mov eax, dword [esp + 8]
mov esi, dword [eax + 0x38]
mov edx, dword [eax + 0x3c]
mov edi, dword [eax + 0x6c]
xor ecx, ecx
inc ecx
mov ebx, esi
mov eax, ebx
or al, 0x80
mov esi, edx
shld esi, ebx, 0x19
mov byte [edi + ecx], al
shr edx, 7
inc ecx
mov eax, esi
or eax, edx
jne 0x1017e35b
and bl, 0x7f
mov byte [edi + ecx - 1], bl
mov eax, dword [esp + 8]
mov dword [eax + 0x70], ecx
mov dword [esp + 4], 0
xor eax, eax
inc eax
mov dword [esp + 0x1c], eax
jmp 0x1017e7f1
xor eax, eax
mov dword [esp + 0xa8], eax
mov dword [esp + 0xe0], eax
mov ecx, dword [esp + 0x10]
mov edx, 0x1d
xor edi, edi
push eax
lea eax, [esp + 0xac]
push eax
call fcn.101737e0
add esp, 8
mov dword [esp + 4], eax
test eax, eax
jne 0x1017edcf
mov esi, dword [esp + 0xa8]
push dword [esp + 0x20]
push dword [esp + 0x30]
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 0x1017e42b
mov ecx, esi
xor edx, edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov edi, eax
mov ecx, esi
call fcn.101532e0
push esi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 4], eax
test eax, eax
jne 0x1017edcf
lea eax, [esp + 0xe0]
mov ecx, dword [esp + 0x10]
mov edx, 0xa
push 0
push eax
call fcn.101737e0
add esp, 8
mov dword [esp + 4], eax
test eax, eax
jne 0x1017edcf
mov esi, dword [esp + 0xe0]
push esi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x1017e4c1
mov ecx, esi
xor edx, edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov ebx, eax
mov dword [esp + 4], edx
mov ecx, esi
call fcn.101532e0
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 dword [esp + 4], eax
test eax, eax
jne 0x1017edcf
mov esi, dword [esp + 8]
mov edx, dword [esi + 0x20]
xor eax, eax
mov ecx, dword [esp + 0x10]
push eax
push eax
push dword [esi + 0x24]
call fcn.10183250
add esp, 0xc
mov dword [esp + 4], eax
test eax, eax
jne 0x1017edcf
mov ecx, dword [esp + 8]
mov eax, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0xc], eax
mov dword [esp + 0xc], edi
mov dword [ecx], edi
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x44], eax
mov ebx, dword [ecx + 0x1c]
mov dword [esp + 0x18], ebx
mov dword [ecx + 0x3c], ebx
mov edx, edi
sar edx, 0x1f
mov esi, eax
add esi, edi
adc edx, ebx
mov dword [ecx + 0x38], eax
mov dword [ecx + 0x58], esi
mov dword [ecx + 0x5c], edx
lea ebx, [edi + edi]
mov dword [esp + 4], ebx
mov esi, ebx
sar esi, 0x1f
mov edi, eax
add edi, ebx
mov edx, dword [esp + 0x18]
adc esi, edx
mov dword [ecx + 0x78], edi
mov dword [ecx + 0x7c], esi
mov esi, dword [esp + 0xc]
lea ebx, [esi + esi*2]
mov dword [esp + 0x30], ebx
mov esi, ebx
sar esi, 0x1f
mov edi, eax
add edi, ebx
mov dword [ecx + 0x98], edi
adc esi, edx
mov dword [ecx + 0x9c], esi
mov esi, dword [esp + 0xc]
lea ebx, [esi*4]
mov dword [esp + 0x48], ebx
mov esi, ebx
sar esi, 0x1f
mov edi, eax
add edi, ebx
mov dword [ecx + 0xb8], edi
adc esi, edx
mov dword [ecx + 0xbc], esi
mov edx, dword [esp + 0xc]
lea esi, [edx + edx*4]
mov dword [esp + 0x14], esi
mov edi, esi
sar edi, 0x1f
mov ebx, eax
add ebx, esi
mov dword [ecx + 0xd8], ebx
mov esi, dword [esp + 0x18]
adc edi, esi
mov dword [ecx + 0xdc], edi
mov edi, dword [esp + 4]
lea edi, [edi + edi*2]
mov ebx, edi
sar ebx, 0x1f
add edi, eax
adc ebx, esi
mov dword [ecx + 0xf8], edi
mov dword [ecx + 0xfc], ebx
mov eax, edx
lea edi, [edx*8]
mov ebx, edi
sub ebx, edx
mov eax, ebx
sar eax, 0x1f
mov edx, dword [esp + 0x44]
add ebx, edx
adc eax, esi
mov dword [ecx + 0x118], ebx
mov dword [ecx + 0x11c], eax
mov eax, edi
sar eax, 0x1f
add edi, edx
mov dword [ecx + 0x138], edi
mov ebx, esi
adc eax, esi
mov dword [ecx + 0x13c], eax
mov eax, dword [esp + 0xc]
lea eax, [eax + eax*8]
mov edi, eax
sar edi, 0x1f
add eax, edx
mov esi, edx
mov dword [ecx + 0x158], eax
adc edi, ebx
mov dword [ecx + 0x15c], edi
mov eax, dword [esp + 4]
lea eax, [eax + eax*4]
mov edx, eax
sar edx, 0x1f
add eax, esi
adc edx, ebx
mov dword [ecx + 0x178], eax
mov dword [ecx + 0x17c], edx
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0xc]
lea eax, [edi + eax*2]
mov edx, eax
sar edx, 0x1f
add eax, esi
mov dword [ecx + 0x198], eax
adc edx, ebx
mov dword [ecx + 0x19c], edx
mov eax, dword [esp + 0x48]
lea eax, [eax + eax*2]
mov edx, eax
sar edx, 0x1f
add eax, esi
mov dword [ecx + 0x1b8], eax
adc edx, ebx
mov dword [ecx + 0x1bc], edx
mov eax, dword [esp + 0x30]
lea eax, [edi + eax*4]
mov edx, eax
sar edx, 0x1f
add eax, esi
mov edi, esi
mov dword [ecx + 0x1d8], eax
adc edx, ebx
mov dword [ecx + 0x1dc], edx
mov edx, dword [esp + 0xc]
mov eax, edx
shl eax, 4
sub eax, edx
sub eax, edx
mov edx, eax
sar edx, 0x1f
add eax, esi
adc edx, ebx
mov dword [ecx + 0x1f8], eax
mov eax, dword [esp + 0x14]
lea eax, [eax + eax*2]
mov esi, eax
sar esi, 0x1f
add edi, eax
adc esi, ebx
mov dword [ecx + 0x1fc], edx
mov dword [ecx + 0x218], edi
mov dword [ecx + 0x21c], esi
mov dword [esp + 4], 0
jmp 0x1017edcf
mov dword [esp + 4], ebx
cmp dword [esp + 4], 0
jne 0x1017e77b
mov eax, dword [esp + 0x1c]
shl eax, 5
mov dword [esp + 4], 0
mov ecx, dword [esp + 8]
cmp byte [ecx + 0x30], 0
mov edi, 0
jne 0x1017e738
mov ecx, dword [esp + 0x40]
mov edx, dword [ecx]
mov dword [esp + 4], 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 + 0x10]
push dword [esi + eax + 0x50]
push dword [esi + eax + 0x4c]
push edi
push dword [esp + 0x10]
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.10183da0
add esp, 0x30
mov dword [esp + 4], eax
mov edi, dword [esp + 0x1c]
shl edi, 5
mov esi, dword [esp + 8]
push dword [esi + edi + 0x4c]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esi + edi + 0x40]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
cmp byte [esp + 0xc], 0
je 0x1017e7de
mov eax, dword [esp + 8]
cmp byte [eax + 0x30], 0
jne 0x1017e7de
mov edx, dword [esp + 0x2c]
add edx, 1
mov eax, dword [esp + 0x20]
adc eax, 0
mov ecx, dword [esp + 0x10]
mov esi, dword [esp + 0x40]
push dword [esi + 4]
push dword [esi]
push eax
call fcn.10183860
add esp, 0xc
mov ebx, dword [esp + 8]
mov ecx, dword [esp + 0x28]
jmp 0x1017df79
jle 0x1017e706
mov esi, dword [esp + 0x7c]
mov edi, dword [esp + 0x1c]
mov ebx, dword [esp + 4]
jmp 0x1017d33e
mov dword [esp + 0xa4], 0
jmp 0x1017ee27
mov eax, dword [esp + 0xe0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe4]
mov dword [esp + 0x24], eax
xor eax, eax
mov dword [esp + 0xa8], eax
mov ecx, dword [esp + 0x10]
mov edx, 0x22
push eax
lea eax, [esp + 0xac]
push eax
call fcn.101737e0
add esp, 8
mov dword [esp + 4], eax
test eax, eax
jne 0x1017eb3d
mov edi, dword [esp + 0xa8]
push dword [esp + 0x24]
push dword [esp + 0x3c]
push 1
push edi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push edi
call sym.nss3.dll_sqlite3_step
add esp, 4
mov esi, eax
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 4], eax
xor eax, eax
cmp esi, 0x64
sete al
mov dword [esp + 0x34], eax
jne 0x1017e9b1
cmp dword [esp + 4], 0
jne 0x1017e9b1
xor eax, eax
lea esi, [esp + 0xdc]
mov dword [esi], eax
lea edi, [esp + 0xd8]
mov dword [edi], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
push edi
push esi
push dword [esp + 0x58]
call fcn.10173eb0
add esp, 0xc
mov dword [esp + 4], eax
test eax, eax
jne 0x1017e99e
mov edx, dword [esp + 0xdc]
lea ecx, [esp + 0xa8]
push dword [esp + 0xd8]
call fcn.10184120
add esp, 4
mov dword [esp + 4], eax
test eax, eax
jne 0x1017e95b
cmp dword [esp + 0xa8], 0
je 0x1017e95b
lea ecx, [esp + 0xa8]
call fcn.10184180
jmp 0x1017e8f9
test eax, eax
jne 0x1017edef
jmp 0x1017ee27
mov ecx, dword [esp + 0x28]
call fcn.10172030
mov ecx, dword [esp + 0xa4]
mov ebx, dword [esp + 8]
jmp 0x1017dde7
mov esi, eax
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x24]
add eax, ecx
add eax, 0x54
mov dword [eax], edi
mov eax, dword [esp + 0x54]
mov dword [eax], esi
jmp 0x1017dd52
mov esi, dword [esp + 0xc0]
mov eax, dword [esp + 0xc4]
mov ecx, dword [esp + 0xc]
mov edi, ecx
sub edi, eax
cmovl eax, ecx
test eax, eax
je 0x1017e98a
push eax
push esi
push dword [esp + 0x20]
call sub.VCRUNTIME140.dll_memcmp
add esp, 0xc
test eax, eax
jne 0x1017e98c
mov eax, edi
xor ebx, ebx
test eax, eax
cmovg ebx, dword [esp + 0x34]
push esi
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esp + 0xdc]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov dword [esp + 0x34], ebx
cmp dword [esp + 4], 0
jne 0x1017eeaf
cmp dword [esp + 0x34], 0
je 0x1017eeaf
mov eax, dword [esp + 0x58]
movsx eax, byte [eax]
mov dword [esp + 0xc], eax
dec al
cmp al, 0xf
jb 0x1017e9f1
push dword [esp + 0x14]
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 4], 0x10b
jmp 0x1017edcf
mov ebx, dword [esp + 0x38]
mov edx, ebx
mov eax, dword [esp + 0x48]
sub edx, eax
lea ecx, [edx + 1]
add edx, 0x10
test ecx, ecx
cmovns edx, ecx
sar edx, 4
mov ecx, dword [esp + 8]
mov dword [esp + 4], edx
mov dword [ecx], edx
mov dword [ecx + 0x18], eax
mov eax, dword [esp + 0x44]
mov dword [ecx + 0x1c], eax
mov dword [ecx + 0x20], ebx
mov eax, dword [esp + 0x24]
mov dword [ecx + 0x24], eax
mov eax, dword [esp + 0x2c]
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x20]
mov dword [ecx + 0xc], eax
mov eax, dword [esp + 0x3c]
mov dword [ecx + 0x10], eax
cmp byte [esp + 0xc], 0xe
jg 0x1017eac4
mov eax, dword [esp + 0xc]
lea ecx, [eax + 1]
mov edx, ecx
imul edx, dword [esp + 4]
mov esi, edx
sar esi, 0x1f
mov eax, dword [esp + 0x48]
add eax, edx
mov edi, dword [esp + 0x44]
adc edi, esi
mov edx, ecx
shl edx, 5
mov esi, dword [esp + 8]
mov dword [esi + edx + 0x38], eax
mov dword [esi + edx + 0x3c], edi
cmp ecx, 0xf
je 0x1017eab2
mov eax, dword [esp + 0xc]
lea ecx, [eax - 0xe]
mov edx, eax
shl edx, 5
add edx, dword [esp + 0x78]
lea esi, [eax + 2]
imul esi, dword [esp + 4]
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 + 4]
inc ecx
jne 0x1017ea92
mov eax, dword [esp + 8]
mov ecx, dword [eax + 0x18]
mov dword [esp + 0x48], ecx
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x44], eax
mov edi, dword [esp + 0xc]
mov edx, dword [esp + 4]
imul edx, edi
mov ecx, edx
sar ecx, 0x1f
add edx, dword [esp + 0x48]
adc ecx, dword [esp + 0x44]
shl edi, 5
mov eax, dword [esp + 8]
mov dword [eax + edi + 0x38], edx
mov dword [eax + edi + 0x3c], ecx
mov ecx, dword [esp + 0x10]
mov esi, dword [ecx + 0xe8]
mov ecx, dword [esp + 0x30]
cmp ecx, esi
cmovg esi, ecx
add esi, 0x14
lea ecx, [eax + edi]
add ecx, 0x4c
mov dword [esp + 0x18], ecx
mov ebx, dword [eax + edi + 0x4c]
cmp dword [eax + edi + 0x54], esi
jge 0x1017eb61
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017eb3d
xor edx, edx
test esi, esi
cmovns edx, esi
mov ecx, ebx
push 0
call fcn.1000f200
add esp, 4
test eax, eax
jne 0x1017eb4e
push dword [esp + 0x14]
call sym.nss3.dll_sqlite3_reset
add esp, 4
jmp 0x1017edcf
mov ebx, eax
mov eax, dword [esp + 8]
add eax, edi
add eax, 0x54
mov dword [eax], esi
mov eax, dword [esp + 0x18]
mov dword [eax], ebx
mov esi, dword [esp + 0x30]
push esi
push dword [esp + 0x5c]
push ebx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [eax + edi + 0x50], esi
mov eax, dword [esp + 0x18]
mov eax, dword [eax]
xorps xmm0, xmm0
movups xmmword [eax + esi], xmm0
mov dword [eax + esi + 0x10], 0
cmp byte [esp + 0xc], 0
js 0x1017edbf
mov esi, dword [esp + 0xc]
shl esi, 5
mov eax, dword [esp + 8]
mov edx, dword [eax + esi + 0x4c]
mov dword [esp + 4], 0
test edx, edx
jne 0x1017ebe0
push dword [esp + 0xc0]
call sym.nss3.dll_sqlite3_free
add esp, 4
cmp dword [esp + 0xc], 0
jle 0x1017eeaf
dec dword [esp + 0xc]
cmp dword [esp + 4], 0
je 0x1017eb9b
jmp 0x1017eeaf
lea ecx, [esp + 0xa8]
mov eax, dword [esp + 8]
push dword [eax + esi + 0x50]
call fcn.10184120
add esp, 4
mov dword [esp + 4], eax
test eax, eax
sete al
jne 0x1017ec1a
cmp dword [esp + 0xa8], 0
je 0x1017ec1a
lea ecx, [esp + 0xa8]
call fcn.10184180
jmp 0x1017ebf7
test al, al
je 0x1017ebb6
mov edi, dword [esp + 0xc4]
mov eax, dword [esp + 8]
lea ebx, [eax + esi]
add ebx, 0x40
cmp dword [eax + esi + 0x48], edi
jge 0x1017ec7a
mov eax, dword [ebx]
mov dword [esp + 0x18], eax
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017ebb6
xor edx, edx
test edi, edi
cmovns edx, edi
mov ecx, dword [esp + 0x18]
push 0
call fcn.1000f200
add esp, 4
test eax, eax
je 0x1017ebb6
mov ecx, dword [esp + 8]
add ecx, esi
add ecx, 0x48
mov dword [ecx], edi
mov dword [ebx], eax
test edi, edi
jle 0x1017ec90
push edi
push dword [esp + 0xc4]
push dword [ebx]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov dword [eax + esi + 0x44], edi
mov dword [esp + 4], 0
cmp dword [esp + 0xc], 0
jle 0x1017ebb6
xor eax, eax
lea esi, [esp + 0xdc]
mov dword [esi], eax
lea edi, [esp + 0xd8]
mov dword [edi], eax
mov eax, dword [esp + 0xc]
lea ebx, [eax - 1]
mov edx, dword [esp + 0xb8]
mov eax, dword [esp + 0xbc]
shl ebx, 5
mov ecx, dword [esp + 8]
mov dword [ecx + ebx + 0x38], edx
mov dword [esp + 0x18], ebx
mov dword [ecx + ebx + 0x3c], eax
mov ebx, dword [esp + 0x10]
mov ecx, ebx
push edi
push esi
push eax
call fcn.10173eb0
add esp, 0xc
mov edi, dword [edi]
mov esi, dword [ebx + 0xe8]
cmp edi, esi
cmovg esi, edi
mov dword [esp + 4], eax
test eax, eax
je 0x1017ed21
push dword [esp + 0xdc]
call sym.nss3.dll_sqlite3_free
add esp, 4
jmp 0x1017ebb6
add esi, 0x14
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
lea ebx, [eax + ecx]
add ebx, 0x4c
mov edx, dword [ebx]
mov dword [esp + 0x30], edx
cmp dword [eax + ecx + 0x54], esi
jge 0x1017ed81
call sym.nss3.dll_sqlite3_initialize
mov dword [esp + 4], 7
test eax, eax
jne 0x1017ed0d
xor edx, edx
test esi, esi
cmovns edx, esi
mov ecx, dword [esp + 0x30]
push 0
call fcn.1000f200
add esp, 4
mov dword [esp + 0x30], eax
test eax, eax
je 0x1017ed0d
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
add eax, ecx
add eax, 0x54
mov dword [eax], esi
mov eax, dword [esp + 0x30]
mov dword [ebx], eax
push edi
push dword [esp + 0xe0]
push dword [esp + 0x38]
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp + 8]
mov ecx, dword [esp + 0x18]
mov dword [eax + ecx + 0x50], edi
mov eax, dword [ebx]
xorps xmm0, xmm0
movups xmmword [eax + edi], xmm0
mov dword [eax + edi + 0x10], 0
mov dword [esp + 4], 0
jmp 0x1017ed0d
push dword [esp + 0x14]
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov dword [esp + 4], eax
mov eax, dword [esp + 4]
mov dword [esp + 0xa4], eax
test eax, eax
jne 0x1017edef
mov dword [esp + 4], 0
mov eax, dword [esp + 8]
cmp dword [eax], 0
jne 0x1017ee19
mov dword [esp + 0xc], 0
mov ecx, dword [esp + 0x40]
neg dword [ecx]
mov eax, 0
sbb eax, dword [ecx + 4]
mov dword [ecx + 4], eax
mov edi, 0xf
mov esi, dword [esp + 0x80]
jmp 0x1017d291
cmp dword [esp + 0x1c], 0
jne 0x1017ee66
mov eax, dword [esp + 8]
mov ecx, dword [eax + 4]
not ecx
add dword [esp + 0x68], ecx
lea esi, [esp + 0xa0]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x2c]
push esi
push dword [esp + 0x2c]
push dword [esp + 0x28]
call fcn.101844e0
add esp, 0xc
mov dword [esp + 4], eax
mov dword [esp + 0xa4], eax
mov eax, dword [esi]
test eax, eax
jne 0x1017ee7d
mov al, 1
mov dword [esp + 0xc], eax
jmp 0x1017ee08
mov edi, dword [esp + 8]
lea eax, [edi + 0x40]
mov dword [esp + 0x74], eax
lea eax, [edi + 0x4c]
mov dword [esp + 0x58], eax
jmp 0x1017d6c7
lea esi, [esp + 0xa4]
lea ecx, [esp + 0x90]
mov edx, dword [esp + 0x2c]
push esi
push eax
push dword [esp + 0x28]
call fcn.10184bb0
add esp, 0xc
xor eax, eax
inc eax
mov dword [esp + 0x70], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
jmp 0x1017edef
push dword [esp + 0x14]
call sym.nss3.dll_sqlite3_reset
add esp, 4
cmp dword [esp + 4], 0
je 0x1017edcb
jmp 0x1017edcf