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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xcc
mov eax, dword [0x10125170]
xor eax, esp
mov dword [esp + 0xc8], eax
mov eax, dword [ebp + 8]
push ebx
mov ebx, ecx
mov ecx, dword [ebp + 0xc]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebp + 0x10]
push esi
movzx esi, byte [ebx + 0x14]
mov dword [esp + 0x5c], ecx
mov ecx, dword [ebp + 0x14]
push edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x54], ecx
mov ecx, dword [ebp + 0x18]
xor edx, edx
xorps xmm5, xmm5
lea edi, [eax*4 + 4]
inc esi
mov dword [esp + 0x1c], ebx
imul esi, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x34], edx
movsd qword [esp + 0x68], xmm5
call sym.SQLite.Interop.dll_sqlite3_initialize
test eax, eax
jne 0x10049d46
test esi, esi
jle 0x1004956c
mov eax, esi
cdq
mov ecx, eax
or ecx, edx
je 0x1004956c
push edx
push eax
call fcn.100ecdb0
add esp, 8
mov ecx, eax
mov dword [esp + 0x14], eax
jmp 0x10049572
xor ecx, ecx
mov dword [esp + 0x14], ecx
test ecx, ecx
je 0x10049d46
movzx eax, byte [ebx + 0x14]
imul eax, edi
push esi
add eax, ecx
push 0
push ecx
mov dword [esp + 0x30], eax
call fcn.10003750
movzx eax, byte [ebx + 0x14]
add esp, 0xc
xor edi, edi
test eax, eax
jle 0x10049600
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
xor ebx, ebx
mov esi, ecx
lea esp, [esp]
add eax, ebx
lea eax, [ecx + eax*4]
xor ecx, ecx
mov dword [esi], eax
test edx, edx
jle 0x100495ca
lea ecx, [ecx]
mov eax, dword [esi]
mov dword [eax + ecx*4], ecx
inc ecx
cmp ecx, edx
jl 0x100495c0
push dword [esp + 0x24]
mov ecx, dword [esp + 0x20]
push dword [esp + 0x24]
push edi
push edx
mov edx, dword [esi]
call fcn.10049da0
mov eax, dword [esp + 0x2c]
mov edx, dword [esp + 0x28]
movzx eax, byte [eax + 0x14]
mov ecx, dword [esp + 0x24]
inc edi
add esp, 0x10
add ebx, edx
add esi, 4
cmp edi, eax
jl 0x100495b0
mov ebx, dword [esp + 0x1c]
movzx eax, byte [ebx + 0x14]
xor esi, esi
mov dword [esp + 0x50], esi
mov dword [esp + 0x24], eax
test eax, eax
jle 0x10049b21
mov eax, dword [ebx + 0x10]
movzx ecx, byte [ebx + 0x17]
sub eax, 4
cdq
idiv ecx
mov ecx, eax
mov eax, 0x55555556
imul ecx
mov ecx, dword [esp + 0x18]
mov eax, edx
shr eax, 0x1f
add eax, edx
mov edi, ecx
sub edi, eax
mov dword [esp + 0x58], eax
mov dword [esp + 0x4c], edi
mov edx, dword [esp + 0x58]
xor eax, eax
xorps xmm5, xmm5
xorps xmm6, xmm6
xorps xmm7, xmm7
mov dword [esp + 0x40], eax
mov dword [esp + 0x28], edx
cmp edx, edi
jg 0x10049af4
mov eax, dword [esp + 0x14]
mov esi, dword [eax + esi*4]
mov dword [esp + 0x30], esi
mov eax, dword [esi]
lea edi, [eax + eax*2]
mov eax, dword [esi + ecx*4 - 4]
mov esi, dword [esp + 0x24]
mov cl, byte [ebx + 0x16]
lea eax, [eax + eax*2]
shl eax, 4
mov dword [esp + 0x2c], eax
movzx eax, byte [ebx + 0x15]
shl edi, 4
add eax, 0xfffffffe
add esi, 0xfffffffe
mov dword [esp + 0x44], edi
mov dword [esp + 0x48], eax
mov dword [esp + 0x38], esi
mov eax, dword [esp + 0x20]
mov edx, dword [esp + 0x2c]
movq xmm0, qword [edi + eax]
movq qword [esp + 0x70], xmm0
movq xmm0, qword [edi + eax + 8]
movq qword [esp + 0x78], xmm0
movq xmm0, qword [edi + eax + 0x10]
movq qword [esp + 0x80], xmm0
movq xmm0, qword [edi + eax + 0x18]
movq qword [esp + 0x88], xmm0
movq xmm0, qword [edi + eax + 0x20]
movq qword [esp + 0x90], xmm0
movq xmm0, qword [edi + eax + 0x28]
movq qword [esp + 0x98], xmm0
movq xmm0, qword [edx + eax]
movq qword [esp + 0xa0], xmm0
movq xmm0, qword [edx + eax + 8]
movq qword [esp + 0xa8], xmm0
movq xmm0, qword [edx + eax + 0x10]
movq qword [esp + 0xb0], xmm0
movq xmm0, qword [edx + eax + 0x18]
movq qword [esp + 0xb8], xmm0
movq xmm0, qword [edx + eax + 0x20]
movq qword [esp + 0xc0], xmm0
movq xmm0, qword [edx + eax + 0x28]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
mov edi, 1
dec eax
movq qword [esp + 0xc8], xmm0
cmp eax, edi
jle 0x100497b0
mov esi, dword [esp + 0x30]
add esi, 4
lea ecx, [ecx]
mov eax, dword [esi]
mov ecx, ebx
lea eax, [eax + eax*2]
shl eax, 4
add eax, dword [esp + 0x20]
cmp edi, edx
push eax
lea edx, [esp + 0x74]
jl 0x1004978e
lea edx, [esp + 0xa4]
call fcn.1004a7a0
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x2c]
inc edi
lea eax, [ecx - 1]
add esp, 4
add esi, 4
cmp edi, eax
jl 0x10049770
mov cl, byte [ebx + 0x16]
mov esi, dword [esp + 0x38]
mov edx, dword [esp + 0x48]
xorps xmm2, xmm2
mov eax, edx
lea esp, [esp]
test cl, cl
jne 0x100497d8
movss xmm0, dword [esp + eax*4 + 0x7c]
movss xmm1, dword [esp + eax*4 + 0x78]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
jmp 0x100497ec
movd xmm0, dword [esp + eax*4 + 0x7c]
movd xmm1, dword [esp + eax*4 + 0x78]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
sub eax, 2
subsd xmm0, xmm1
addsd xmm2, xmm0
jns 0x100497c0
addsd xmm2, xmm5
xorps xmm5, xmm5
mov eax, edx
test cl, cl
jne 0x10049820
movss xmm0, dword [esp + eax*4 + 0xac]
movss xmm1, dword [esp + eax*4 + 0xa8]
cvtps2pd xmm0, xmm0
cvtps2pd xmm1, xmm1
jmp 0x1004983a
movd xmm0, dword [esp + eax*4 + 0xac]
movd xmm1, dword [esp + eax*4 + 0xa8]
cvtdq2pd xmm0, xmm0
cvtdq2pd xmm1, xmm1
sub eax, 2
subsd xmm0, xmm1
addsd xmm5, xmm0
jns 0x10049802
push ecx
lea eax, [esp + 0xa4]
push eax
lea edx, [esp + 0x78]
mov ecx, ebx
addsd xmm5, xmm2
call fcn.1004a580
mov cl, byte [ebx + 0x16]
movsd xmm4, qword [0x10109cd0]
add esp, 8
movapd xmm3, xmm0
movapd xmm1, xmm4
test cl, cl
jne 0x100498fd
cmp esi, 3
ja case.default.0x10049882
jmp dword [esi*4 + 0x10049d60]
movss xmm0, dword [esp + 0x9c]
subss xmm0, dword [esp + 0x98]
cvtps2pd xmm1, xmm0
movss xmm0, dword [esp + 0x94]
subss xmm0, dword [esp + 0x90]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [esp + 0x8c]
subss xmm0, dword [esp + 0x88]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [esp + 0x84]
subss xmm0, dword [esp + 0x80]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [esp + 0x7c]
subss xmm0, dword [esp + 0x78]
cvtps2pd xmm2, xmm0
jmp 0x1004997d
cmp esi, 3
ja case.default.0x10049902
jmp dword [esi*4 + 0x10049d70]
mov eax, dword [esp + 0x9c]
sub eax, dword [esp + 0x98]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov eax, dword [esp + 0x94]
sub eax, dword [esp + 0x90]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
mov eax, dword [esp + 0x8c]
sub eax, dword [esp + 0x88]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
mov eax, dword [esp + 0x84]
sub eax, dword [esp + 0x80]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
mov eax, dword [esp + 0x7c]
sub eax, dword [esp + 0x78]
movd xmm2, eax
cvtdq2pd xmm2, xmm2
mulsd xmm2, xmm1
movapd xmm1, xmm4
test cl, cl
jne 0x10049a13
cmp esi, 3
ja case.default.0x10049992
jmp dword [esi*4 + 0x10049d80]
movss xmm0, dword [esp + 0xcc]
subss xmm0, dword [esp + 0xc8]
cvtps2pd xmm1, xmm0
movss xmm0, dword [esp + 0xc4]
subss xmm0, dword [esp + 0xc0]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [esp + 0xbc]
subss xmm0, dword [esp + 0xb8]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [esp + 0xb4]
subss xmm0, dword [esp + 0xb0]
cvtps2pd xmm0, xmm0
mulsd xmm1, xmm0
movss xmm0, dword [esp + 0xac]
subss xmm0, dword [esp + 0xa8]
cvtps2pd xmm0, xmm0
jmp 0x10049a99
cmp esi, 3
ja case.default.0x10049a18
jmp dword [esi*4 + 0x10049d90]
mov eax, dword [esp + 0xcc]
sub eax, dword [esp + 0xc8]
movd xmm1, eax
cvtdq2pd xmm1, xmm1
mov eax, dword [esp + 0xc4]
sub eax, dword [esp + 0xc0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
mov eax, dword [esp + 0xbc]
sub eax, dword [esp + 0xb8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
mov eax, dword [esp + 0xb4]
sub eax, dword [esp + 0xb0]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mulsd xmm1, xmm0
mov eax, dword [esp + 0xac]
sub eax, dword [esp + 0xa8]
movd xmm0, eax
cvtdq2pd xmm0, xmm0
mov edx, dword [esp + 0x28]
mulsd xmm0, xmm1
addsd xmm0, xmm2
cmp edx, dword [esp + 0x58]
je 0x10049ac1
comisd xmm6, xmm3
ja 0x10049ac1
ucomisd xmm3, xmm6
lahf
test ah, 0x44
jp 0x10049ad1
comisd xmm7, xmm0
jbe 0x10049ad1
mov eax, edx
mov dword [esp + 0x40], eax
movapd xmm6, xmm3
movapd xmm7, xmm0
jmp 0x10049ad5
mov eax, dword [esp + 0x40]
mov edi, dword [esp + 0x44]
inc edx
mov dword [esp + 0x28], edx
cmp edx, dword [esp + 0x4c]
jle 0x100496a0
mov ecx, dword [esp + 0x18]
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x4c]
test esi, esi
je 0x10049b04
movsd xmm0, qword [esp + 0x68]
comisd xmm0, xmm5
jbe 0x10049b12
mov dword [esp + 0x3c], esi
movsd qword [esp + 0x68], xmm5
mov dword [esp + 0x34], eax
inc esi
mov dword [esp + 0x50], esi
cmp esi, dword [esp + 0x24]
jl 0x10049643
mov ecx, dword [esp + 0x3c]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x54]
mov eax, dword [esi + ecx*4]
mov edx, dword [esp + 0x20]
mov eax, dword [eax]
mov edi, dword [esp + 0x34]
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
movq xmm0, qword [eax]
movq qword [ebx], xmm0
movq xmm0, qword [eax + 8]
movq qword [ebx + 8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ebx + 0x10], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [ebx + 0x18], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ebx + 0x20], xmm0
movq xmm0, qword [eax + 0x28]
movq qword [ebx + 0x28], xmm0
mov eax, dword [esi + ecx*4]
mov ecx, dword [esp + 0x5c]
mov eax, dword [eax + edi*4]
xor ebx, ebx
lea eax, [eax + eax*2]
shl eax, 4
add eax, edx
movq xmm0, qword [eax]
movq qword [ecx], xmm0
movq xmm0, qword [eax + 8]
movq qword [ecx + 8], xmm0
movq xmm0, qword [eax + 0x10]
movq qword [ecx + 0x10], xmm0
movq xmm0, qword [eax + 0x18]
movq qword [ecx + 0x18], xmm0
movq xmm0, qword [eax + 0x20]
movq qword [ecx + 0x20], xmm0
movq xmm0, qword [eax + 0x28]
movq qword [ecx + 0x28], xmm0
cmp dword [esp + 0x18], ebx
jle 0x10049cbf
mov eax, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
cmp ebx, edi
cmovl eax, dword [esp + 0x54]
cmovl ecx, dword [esp + 0x64]
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 0x30], ecx
mov eax, dword [esi + eax*4]
mov eax, dword [eax + ebx*4]
lea edi, [eax + eax*2]
mov eax, dword [ecx + 0x18]
mov dword [esp + 0x44], eax
movzx ecx, byte [eax + 2]
movzx eax, byte [eax + 3]
shl ecx, 8
add ecx, eax
mov eax, dword [esp + 0x1c]
shl edi, 4
movzx esi, byte [eax + 0x17]
mov eax, dword [eax + 0x10]
add edi, edx
sub eax, 4
cdq
idiv esi
mov dword [esp + 0x48], edi
mov dword [esp + 0x38], ecx
cmp ecx, eax
jge 0x10049c97
mov eax, dword [edi + 4]
imul esi, ecx
bswap eax
mov edx, dword [esp + 0x44]
mov ecx, dword [edi]
add edx, esi
add edx, 0xc
mov dword [edx - 8], eax
mov eax, dword [esp + 0x1c]
bswap ecx
mov dword [edx - 4], ecx
xor esi, esi
cmp byte [eax + 0x15], 0
jbe 0x10049c79
lea ecx, [edi + 8]
mov edi, eax
nop
mov eax, dword [ecx]
bswap eax
mov dword [edx], eax
movzx eax, byte [edi + 0x15]
inc esi
lea edx, [edx + 4]
lea ecx, [ecx + 4]
cmp esi, eax
jl 0x10049c60
mov edi, dword [esp + 0x48]
mov edx, dword [esp + 0x38]
mov esi, dword [esp + 0x30]
inc edx
mov ecx, dword [esi + 0x18]
mov eax, edx
sar eax, 8
mov byte [ecx + 2], al
mov byte [ecx + 3], dl
mov dword [esi + 0x14], 1
mov edx, dword [esp + 0x2c]
mov ecx, dword [esp + 0x1c]
push edi
call fcn.1004a7a0
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x18]
mov edi, dword [esp + 0x38]
inc ebx
add esp, 4
cmp ebx, dword [esp + 0x18]
jl 0x10049bd4
cmp dword [0x101272c0], 0
je 0x10049d25
mov eax, dword [0x10128368]
test eax, eax
je 0x10049cdb
push eax
call dword [0x1012731c]
add esp, 4
push esi
call dword [0x101272f8]
sub dword [0x10128398], eax
dec dword [0x101283bc]
add esp, 4
push esi
call dword [0x101272f0]
mov eax, dword [0x10128368]
add esp, 4
test eax, eax
je 0x10049d2f
push eax
call dword [0x10127324]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.10001186
mov esp, ebp
pop ebp
ret
push esi
call dword [0x101272f0]
add esp, 4
xor eax, eax
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xc8]
xor ecx, esp
call fcn.10001186
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0xd4]
pop edi
pop esi
pop ebx
xor ecx, esp
mov eax, 7
call fcn.10001186
mov esp, ebp
pop ebp
ret