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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0xb0
mov ebx, ecx
mov esi, dword [ebp + 0xc]
mov eax, dword [0x101db014]
xor eax, ebp
mov dword [esp + 0xa8], eax
xor eax, eax
lea ecx, [esp + 0x50]
mov dword [ecx + 0x34], eax
mov dword [ecx + 0x30], eax
mov eax, dword [ebp + 8]
xorps xmm0, xmm0
movaps xmmword [ecx + 0x20], xmm0
movaps xmmword [ecx + 0x10], xmm0
movaps xmmword [ecx], xmm0
sub esp, 0x1c
mov dword [esp + 0x18], ecx
movaps xmm0, xmmword [0x1019c5f0]
movups xmmword [esp + 8], xmm0
mov dword [esp + 4], esi
mov dword [esp], eax
mov ecx, ebx
mov dword [esp + 0x34], edx
call fcn.10172290
add esp, 0x1c
mov edi, eax
test eax, eax
jne 0x101828d9
cmp dword [esp + 0x54], 0
mov edi, 0
jne 0x101828fa
lea ecx, [esp + 0x50]
call fcn.10172030
mov ecx, dword [esp + 0xa8]
xor ecx, ebp
call fcn.1014dc80
mov eax, edi
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret
cmp esi, 0xffffffff
mov dword [esp + 0x14], ebx
je 0x10182a2d
lea eax, [esp + 0x90]
mov ecx, ebx
mov edx, 0xf
push 0
push eax
call fcn.101737e0
add esp, 8
test eax, eax
jne 0x10182b83
mov eax, dword [esp + 0x18]
imul dword [ebx + 0x100]
mov ecx, dword [ebp + 8]
mov edi, ecx
sar edi, 0x1f
add eax, ecx
adc edx, edi
shld edx, eax, 0xa
shl eax, 0xa
mov ecx, dword [esp + 0x90]
mov dword [esp], ecx
push edx
push eax
push 1
push ecx
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
mov eax, dword [esp + 0x18]
imul dword [ebx + 0x100]
add eax, dword [ebp + 8]
mov dword [esp + 8], edi
adc edx, edi
mov edi, dword [esp]
shld edx, eax, 0xa
shl eax, 0xa
or eax, 0x3ff
push edx
push eax
push 2
push edi
call sym.nss3.dll_sqlite3_bind_int64
add esp, 0x10
push edi
call sym.nss3.dll_sqlite3_step
add esp, 4
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
cmp eax, 0x64
jne 0x101829c8
mov ecx, edi
xor edx, edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp + 0x30], eax
mov dword [esp + 0x2c], edx
mov ecx, edi
call fcn.101532e0
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov edi, eax
test eax, eax
jne 0x101828d9
cmp esi, 0xfffffffe
jne 0x10183147
cmp dword [esp + 0x54], 1
jne 0x10182a00
mov eax, dword [esp + 0x50]
mov eax, dword [eax]
mov edi, 0x65
cmp dword [eax + 0x38], 0
je 0x101828d9
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
mov eax, 3
mov dword [esp + 0x48], 0
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x20], ecx
jmp 0x10182bd8
mov esi, dword [esp + 0x18]
mov ecx, esi
sar ecx, 0x1f
mov dword [esp], ecx
mov ecx, dword [ebp + 8]
sar ecx, 0x1f
mov dword [esp + 8], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x2c], 0
mov ecx, dword [esp + 0x14]
mov ecx, dword [ecx + 0x100]
mov edi, ecx
mov eax, esi
mul ecx
mov ebx, eax
sar edi, 0x1f
imul edi, esi
add edi, edx
imul ecx, dword [esp]
add ecx, edi
add ebx, dword [ebp + 8]
mov esi, dword [esp + 8]
adc ecx, esi
shld ecx, ebx, 0xa
shl ebx, 0xa
mov eax, dword [ebp + 0xc]
mov edx, eax
sar edx, 0x1f
add ebx, eax
adc edx, ecx
add ebx, 1
mov dword [esp + 0x24], ebx
adc edx, 0
mov dword [esp + 0x20], edx
lea eax, [esp + 0x90]
mov ecx, dword [esp + 0x14]
mov edx, 8
push 0
push eax
call fcn.101737e0
add esp, 8
mov edi, eax
test eax, eax
jne 0x101828d9
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x100]
mov edi, esi
mov esi, dword [esp + 0x18]
mov eax, esi
mul ecx
mov ebx, dword [esp]
imul ebx, ecx
sar ecx, 0x1f
imul ecx, esi
mov esi, dword [ebp + 8]
add ecx, edx
mov edx, dword [ebp + 0xc]
inc edx
add ebx, ecx
mov ecx, edx
sar ecx, 0x1f
add eax, esi
adc ebx, edi
shld ebx, eax, 0xa
shl eax, 0xa
mov esi, edx
add eax, edx
adc ebx, ecx
mov edi, dword [esp + 0x90]
push ebx
push eax
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
cmp eax, 0x64
jne 0x10182b8a
mov ecx, edi
xor edx, edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov ebx, eax
mov ecx, edi
call fcn.101532e0
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov edi, eax
test eax, eax
jne 0x101828d9
cmp ebx, 0xf
jle 0x10182b9f
mov ebx, dword [esp + 0x14]
mov ecx, ebx
mov edx, dword [esp + 0x18]
push esi
push dword [ebp + 8]
call fcn.10182860
add esp, 8
mov edi, eax
mov dword [esp + 0x48], 0
test eax, eax
mov esi, dword [ebp + 0xc]
jne 0x101828d9
jmp 0x10182baa
mov edi, eax
jmp 0x101828d9
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov edi, eax
xor ebx, ebx
test eax, eax
jne 0x101828d9
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x14]
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
cmp dword [esp + 0x30], eax
mov eax, dword [esp + 0x2c]
sbb eax, dword [esp + 0x20]
setl al
xor ecx, ecx
inc ecx
cmp esi, 0xffffffff
movzx eax, al
lea eax, [eax + eax + 1]
cmove eax, ecx
xorps xmm0, xmm0
movaps xmmword [esp + 0x90], xmm0
lea ecx, [esp + 0x90]
mov dword [ecx + 0xc], eax
lea edx, [esp + 0x50]
mov dword [edx + 0xc], ecx
xor eax, eax
mov ecx, ebx
push eax
push eax
call fcn.101727c0
add esp, 8
mov edi, eax
test eax, eax
jne 0x101828d9
mov dword [esp + 4], 0
mov ecx, ebx
lea edx, [esp + 0x50]
call fcn.10172b00
cmp eax, 0x64
jne 0x10183158
mov eax, dword [esp + 0x84]
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x80]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x78]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x7c]
mov esi, dword [esp + 4]
test esi, esi
mov dword [esp + 0x34], eax
jne 0x10182d3b
call sym.nss3.dll_sqlite3_initialize
mov edi, 7
test eax, eax
jne 0x101831e6
mov ecx, 0x40
xor edx, edx
call fcn.10144e50
test eax, eax
je 0x101831e6
mov esi, eax
xorps xmm0, xmm0
movups xmmword [eax + 0x30], xmm0
movups xmmword [eax + 0x20], xmm0
movups xmmword [eax + 0x10], xmm0
movups xmmword [eax], xmm0
mov ebx, dword [ebx + 0xe8]
call sym.nss3.dll_sqlite3_initialize
test ebx, ebx
jle 0x101831f1
test eax, eax
jne 0x101831f1
mov ecx, ebx
xor edx, edx
call fcn.10144e50
mov dword [esi + 0x30], eax
test eax, eax
je 0x10183204
mov ecx, dword [esp + 0x14]
mov eax, dword [ecx + 0xe8]
mov dword [esi + 0x28], eax
mov edx, 0xa
push 0
lea eax, [esp + 0xa8]
push eax
call fcn.101737e0
add esp, 8
test eax, eax
jne 0x101831fa
mov edi, dword [esp + 0xa4]
push edi
call sym.nss3.dll_sqlite3_step
add esp, 4
cmp eax, 0x64
jne 0x10182d24
mov ecx, edi
xor edx, edx
call fcn.10153260
mov ecx, eax
call fcn.10078110
mov dword [esp], eax
mov ebx, edx
mov ecx, edi
call fcn.101532e0
mov dword [esi + 0x14], ebx
mov eax, dword [esp]
mov dword [esi + 0x10], eax
mov dword [esi + 0xc], ebx
mov dword [esi + 8], eax
push edi
call sym.nss3.dll_sqlite3_reset
add esp, 4
mov edi, eax
test eax, eax
mov eax, dword [esp + 0x34]
jne 0x1018321d
xor ecx, ecx
test eax, eax
mov edi, eax
mov dword [esp + 4], esi
jle 0x10182d75
mov eax, dword [esi + 0x1c]
test eax, eax
mov ebx, dword [esp + 0x44]
jle 0x10182d75
lea ecx, [edi - 1]
lea edx, [eax - 1]
cmp ecx, edx
mov esi, dword [esi + 0x18]
cmovb eax, edi
xor ecx, ecx
mov dl, byte [esi + ecx]
cmp dl, byte [ebx + ecx]
jne 0x10182d71
inc ecx
cmp eax, ecx
jne 0x10182d62
mov ecx, eax
mov esi, dword [esp + 4]
mov eax, edi
sub eax, ecx
mov dword [esp + 0x38], eax
jle 0x101831ea
mov edx, dword [esi + 0x2c]
mov dword [esp], 0
mov eax, dword [esp + 0x10]
lea ebx, [edi + eax]
sub ebx, ecx
lea esi, [ebx + 1]
mov dword [esp + 8], esi
mov dword [esp + 0x1c], edx
add edx, edi
add edx, eax
sub edx, ecx
add edx, 2
mov dword [esp + 0xc], edx
add ebx, 2
mov dword [esp + 0x40], ecx
xor esi, esi
mov eax, dword [esp + 8]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x3c], edx
mov edi, ebx
inc esi
mov edx, dword [esp]
shrd ecx, edx, 7
shr edx, 7
lea ebx, [eax + 1]
mov dword [esp + 8], ebx
mov ebx, ecx
mov dword [esp], edx
or ebx, edx
mov edx, dword [esp + 0x3c]
lea ebx, [edx + 1]
mov dword [esp + 0xc], ebx
lea ebx, [edi + 1]
jne 0x10182db7
mov esi, dword [esp + 0x38]
mov ebx, esi
sar ebx, 0x1f
mov ecx, edx
mov dword [esp], edi
shrd esi, ebx, 7
shr ebx, 7
inc eax
inc edx
mov edi, esi
or edi, ebx
mov edi, dword [esp]
lea edi, [edi + 1]
jne 0x10182df7
mov edx, dword [esp + 0x10]
mov eax, edx
sar eax, 0x1f
mov edi, dword [esp]
shrd edx, eax, 7
shr eax, 7
inc ecx
inc edi
mov esi, edx
or esi, eax
jne 0x10182e1d
cmp dword [esp + 0x1c], 0
mov ebx, dword [esp + 0x14]
jle 0x10182f1f
cmp ecx, dword [ebx + 0xe8]
mov esi, dword [esp + 4]
jle 0x10182f23
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 0x14]
mov ecx, eax
xor ecx, 0x7fffffff
mov edi, esi
mov esi, edx
not esi
or esi, ecx
je 0x1018320e
mov ecx, dword [edi + 0x30]
mov dword [esp], ecx
mov ecx, edx
add ecx, 1
mov dword [edi + 0x10], ecx
mov ecx, eax
adc ecx, 0
mov esi, edi
mov dword [edi + 0x14], ecx
mov ecx, ebx
push dword [esp + 0x1c]
push dword [esp + 4]
push eax
call fcn.10183250
add esp, 0xc
test eax, eax
jne 0x101831e2
inc dword [ebx + 0x34]
mov eax, dword [esp + 0x40]
inc eax
mov ecx, ebx
mov edx, esi
push eax
push dword [esp + 0x48]
call fcn.10183310
add esp, 8
test eax, eax
jne 0x101831e2
mov dword [esi + 0x1c], 0
mov edi, dword [esp + 0x34]
mov eax, edi
sar eax, 0x1f
mov edx, dword [esp + 0x10]
lea ecx, [edx + edi]
inc ecx
lea esi, [edx + edi]
add esi, 2
mov edx, edi
mov ebx, esi
shrd edx, eax, 7
shr eax, 7
inc ecx
mov esi, edx
or esi, eax
lea esi, [ebx + 1]
jne 0x10182edb
mov ecx, dword [esp + 0x10]
mov eax, ecx
sar eax, 0x1f
shrd ecx, eax, 7
shr eax, 7
inc ebx
mov edx, ecx
or edx, eax
jne 0x10182ef7
mov dword [esp + 0x1c], 0
mov dword [esp + 0x38], edi
mov dword [esp + 0x40], 0
mov esi, dword [esp + 4]
jmp 0x10182f25
mov esi, dword [esp + 4]
mov ebx, edi
mov eax, ebx
sar eax, 0x1f
add dword [esi + 0x38], ebx
adc dword [esi + 0x3c], eax
mov edi, dword [esi + 0x30]
cmp ebx, dword [esi + 0x28]
jle 0x10182f76
mov dword [esp + 0x28], edi
call sym.nss3.dll_sqlite3_initialize
mov edi, 7
test eax, eax
jne 0x1018321d
test ebx, ebx
mov edx, 0
cmovns edx, ebx
mov ecx, dword [esp + 0x28]
push 0
call fcn.1000f200
add esp, 4
test eax, eax
je 0x1018321d
mov dword [esi + 0x30], eax
mov dword [esi + 0x28], ebx
mov edi, eax
xor esi, esi
mov edx, dword [esp + 0x1c]
add edi, edx
mov ecx, dword [esp + 0x38]
lea eax, [ecx + edx]
add ecx, edx
add ecx, 2
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x10]
add ecx, eax
add ecx, 2
mov dword [esp + 0x28], edi
mov dword [esp + 8], edi
mov eax, dword [esp + 0x40]
mov edx, eax
mov ebx, ecx
mov ecx, edx
or cl, 0x80
mov eax, esi
mov dword [esp + 0x3c], edx
shld eax, edx, 0x19
shr esi, 7
mov edx, eax
or edx, esi
mov edi, dword [esp + 8]
mov byte [edi], cl
mov ecx, dword [esp + 0xc]
mov edx, ebx
lea ebx, [edi + 1]
mov dword [esp + 8], ebx
mov dword [esp], ecx
lea ecx, [ecx + 1]
mov dword [esp + 0xc], ecx
lea ecx, [edx + 1]
jne 0x10182fa3
mov eax, dword [esp + 0x3c]
and al, 0x7f
mov byte [edi], al
mov esi, dword [esp + 8]
sub esi, dword [esp + 0x28]
add esi, dword [esp + 0x1c]
mov ebx, dword [esp + 0x38]
mov eax, ebx
sar eax, 0x1f
mov ecx, dword [esp + 4]
mov ecx, dword [ecx + 0x30]
mov dword [esp + 8], esi
add ecx, esi
mov dword [esp + 0x28], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x3c], edx
mov edx, ebx
mov ecx, edx
or cl, 0x80
mov ebx, eax
mov dword [esp + 0x1c], edx
shld ebx, edx, 0x19
shr eax, 7
mov esi, ebx
or esi, eax
mov esi, dword [esp + 0xc]
mov byte [esi], cl
mov edi, dword [esp]
mov ecx, dword [esp + 0x3c]
lea edx, [esi + 1]
mov dword [esp + 0xc], edx
lea edx, [edi + 1]
mov dword [esp], edx
lea edx, [ecx + 1]
jne 0x10183011
mov eax, dword [esp + 0x1c]
and al, 0x7f
mov byte [esi], al
mov edx, dword [esp + 0xc]
sub edx, dword [esp + 0x28]
add edx, dword [esp + 8]
mov ebx, dword [esp + 0x10]
sar ebx, 0x1f
mov esi, dword [esp + 4]
add edx, dword [esi + 0x30]
mov eax, dword [esp + 0x40]
add eax, dword [esp + 0x44]
push dword [esp + 0x38]
push eax
push edx
mov dword [esp + 0xc], ecx
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esi + 0x30]
mov edx, dword [esp + 0x10]
mov ecx, edx
or dl, 0x80
mov byte [eax + edi], dl
mov edx, ebx
shld edx, ecx, 0x19
shr ebx, 7
inc edi
inc dword [esp]
mov esi, edx
or esi, ebx
jne 0x1018308f
and cl, 0x7f
mov byte [eax + edi - 1], cl
mov esi, dword [esp + 4]
add edi, dword [esi + 0x30]
push dword [esp + 0x10]
push dword [esp + 0x50]
push edi
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov eax, dword [esp]
mov dword [esi + 0x2c], eax
mov ebx, dword [esp + 0x34]
cmp dword [esi + 0x20], ebx
jge 0x10183125
mov ebx, dword [esi + 0x24]
call sym.nss3.dll_sqlite3_initialize
mov edi, 7
test eax, eax
jne 0x10183219
mov esi, dword [esp + 0x34]
add esi, esi
mov edx, 0
cmovns edx, esi
mov ecx, ebx
push 0
call fcn.1000f200
add esp, 4
test eax, eax
je 0x10183219
mov edi, dword [esp + 4]
mov dword [edi + 0x20], esi
mov dword [edi + 0x24], eax
mov dword [edi + 0x18], eax
mov esi, dword [ebp + 0xc]
mov ebx, dword [esp + 0x34]
jmp 0x1018312d
mov eax, dword [esi + 0x18]
mov edi, esi
mov esi, dword [ebp + 0xc]
push ebx
push dword [esp + 0x48]
push eax
call sub.VCRUNTIME140.dll_memcpy
add esp, 0xc
mov dword [edi + 0x1c], ebx
mov ebx, dword [esp + 0x14]
jmp 0x10182c09
mov esi, dword [esp + 0x18]
mov ecx, esi
sar ecx, 0x1f
mov dword [esp], ecx
jmp 0x10182a53
mov edi, eax
test eax, eax
mov edx, dword [esp + 0x18]
jne 0x10183200
cmp esi, 0xffffffff
je 0x10183185
mov ecx, ebx
push dword [esp + 0x54]
push dword [esp + 0x54]
push esi
push dword [ebp + 8]
call fcn.101835d0
add esp, 0x10
test eax, eax
jne 0x101831fe
xor edi, edi
mov edx, dword [esp + 4]
test edx, edx
je 0x101828d9
mov ecx, ebx
push dword [esp + 0x48]
push dword [esp + 0x24]
push dword [esp + 0x2c]
call fcn.10183710
add esp, 0xc
test eax, eax
jne 0x10183217
cmp esi, 0xffffffff
je 0x101831c6
xor edi, edi
mov eax, dword [esp + 0x24]
cmp eax, dword [esp + 0x30]
mov eax, dword [esp + 0x20]
sbb eax, dword [esp + 0x2c]
jge 0x10183219
mov ecx, ebx
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 4]
push dword [esi + 0x3c]
push dword [esi + 0x38]
push dword [esp + 0x28]
call fcn.10183860
add esp, 0xc
mov edi, eax
jmp 0x1018321d
xor esi, esi
jmp 0x10183204
mov edi, 0x10b
jmp 0x10183204
mov dword [esi + 0x30], 0
jmp 0x10183204
mov edi, eax
jmp 0x10183204
mov edi, eax
mov esi, dword [esp + 4]
test esi, esi
je 0x101828d9
jmp 0x1018321d
mov esi, edi
mov edi, 0x10b
jmp 0x1018321d
mov edi, eax
mov esi, dword [esp + 4]
push dword [esi + 0x30]
call sym.nss3.dll_sqlite3_free
add esp, 4
push dword [esi + 0x24]
call sym.nss3.dll_sqlite3_free
add esp, 4
mov ecx, dword [esi]
call fcn.10183b00
push esi
call sym.nss3.dll_sqlite3_free
add esp, 4
jmp 0x101828d9