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

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x6c
mov ecx, dword [ebp + 8]
lea eax, [ebp - 0x24]
push ebx
push esi
push edi
push 0
push eax
push 0x20
push ecx
mov dword [ebp - 0x24], 0
call fcn.1004cae0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x10042619
mov ecx, dword [ebp + 0xc]
xorps xmm0, xmm0
mov eax, dword [ebp + 0x10]
add ecx, 1
mov edi, dword [ebp - 0x24]
adc eax, ebx
movlpd qword [ebp - 0x3c], xmm0
push eax
push ecx
push 1
push edi
call sym.e_sqlite3.dll_sqlite3_bind_int64
mov eax, dword [ebp + 0x14]
cdq
push edx
push eax
push 2
push edi
call sym.e_sqlite3.dll_sqlite3_bind_int64
push edi
call sym.e_sqlite3.dll_sqlite3_step
add esp, 0x24
cmp eax, 0x64
jne 0x10042622
lea ecx, [ebx + 1]
test edi, edi
je 0x1004172e
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10041705
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
lea ecx, [ebx + 1]
mov eax, dword [edi + 0x78]
test eax, eax
je 0x1004171a
cmp cx, word [edi + 0x90]
jae 0x1004171a
add eax, 0x28
jmp 0x10041733
mov eax, dword [edi]
push 0x19
push eax
mov dword [eax + 0x40], 0x19
call fcn.10096500
add esp, 8
mov eax, 0x1010df80
movzx ecx, word [eax + 0x10]
test cl, 0x24
je 0x10041749
mov ecx, dword [eax]
mov dword [ebp - 0x10], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x14], ecx
jmp 0x10041794
test cl, 8
je 0x10041767
movsd xmm0, qword [eax]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10031ff0
add esp, 8
mov dword [ebp - 0x14], edx
jmp 0x10041791
test cl, 0x12
je 0x10041780
cmp dword [eax + 8], 0
je 0x10041780
push eax
call fcn.10071770
add esp, 4
mov dword [ebp - 0x14], edx
jmp 0x10041791
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x14], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x10], eax
test edi, edi
je 0x10041822
mov eax, dword [edi]
mov ecx, dword [edi + 0x24]
cmp byte [eax + 0x57], 0
jne 0x100417ab
test ecx, ecx
je 0x100417b9
push ecx
push eax
call fcn.10025920
mov ecx, eax
add esp, 8
mov eax, dword [edi]
mov dword [edi + 0x24], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100417d7
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100417f4
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x1004180e
mov ecx, 2
cmp cx, word [edi + 0x90]
jae 0x1004180e
add eax, 0x50
jmp 0x10041827
mov eax, dword [edi]
push 0x19
push eax
mov dword [eax + 0x40], 0x19
call fcn.10096500
add esp, 8
mov eax, 0x1010df80
movzx ecx, word [eax + 0x10]
test cl, 0x24
je 0x1004183d
mov ecx, dword [eax]
mov dword [ebp - 0x20], ecx
mov ecx, dword [eax + 4]
mov dword [ebp - 0x1c], ecx
jmp 0x10041888
test cl, 8
je 0x1004185b
movsd xmm0, qword [eax]
sub esp, 8
movsd qword [esp], xmm0
call fcn.10031ff0
add esp, 8
mov dword [ebp - 0x1c], edx
jmp 0x10041885
test cl, 0x12
je 0x10041874
cmp dword [eax + 8], 0
je 0x10041874
push eax
call fcn.10071770
add esp, 4
mov dword [ebp - 0x1c], edx
jmp 0x10041885
xorps xmm0, xmm0
movlpd qword [ebp - 0x34], xmm0
mov eax, dword [ebp - 0x30]
mov dword [ebp - 0x1c], eax
mov eax, dword [ebp - 0x34]
mov dword [ebp - 0x20], eax
test edi, edi
je 0x100418c7
mov eax, dword [edi]
mov ecx, dword [edi + 0x24]
cmp byte [eax + 0x57], 0
jne 0x1004189b
test ecx, ecx
je 0x100418a9
push ecx
push eax
call fcn.10025920
mov ecx, eax
add esp, 8
mov eax, dword [edi]
mov dword [edi + 0x24], ecx
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100418c7
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov ebx, dword [ebp + 0x20]
lea eax, [ebp - 0x3c]
lea esi, [ebx + 0x28]
push esi
push eax
push 3
push edi
call fcn.10048640
mov ecx, dword [esi + 4]
add esp, 0x10
mov eax, dword [esi]
test ecx, ecx
jg 0x100418f8
jl 0x100418ec
test eax, eax
jae 0x100418f8
neg eax
mov dword [esi], eax
adc ecx, 0
neg ecx
mov dword [esi + 4], ecx
or eax, ecx
jne 0x10041900
mov al, 1
jmp 0x10041902
xor al, al
mov byte [ebx + 0x30], al
mov ebx, 4
test edi, edi
je 0x10041956
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1004192b
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x10041942
cmp bx, word [edi + 0x90]
jae 0x10041942
add eax, 0xa0
jmp 0x1004195b
mov eax, dword [edi]
push 0x19
push eax
mov dword [eax + 0x40], 0x19
call fcn.10096500
add esp, 8
mov eax, 0x1010df80
movzx ecx, word [eax + 0x10]
test cl, 2
je 0x1004196f
cmp byte [eax + 0x12], 1
jne 0x1004196f
mov eax, dword [eax + 0xc]
jmp 0x100419a3
test cl, 0x10
je 0x1004198a
mov edx, dword [eax + 0xc]
test ecx, 0x400
je 0x10041985
mov eax, dword [eax]
add eax, edx
jmp 0x100419a3
mov dword [ebp - 4], edx
jmp 0x100419a6
test cl, 1
je 0x10041998
mov dword [ebp - 4], 0
jmp 0x100419a6
push 1
push eax
call fcn.100e57f0
add esp, 8
mov dword [ebp - 4], eax
test edi, edi
je 0x10041a33
mov ecx, dword [edi]
mov edx, dword [edi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x100419c1
test edx, edx
jne 0x100419c1
xor eax, eax
jmp 0x100419cd
push edx
push ecx
call fcn.10025920
mov ecx, dword [edi]
add esp, 8
mov dword [edi + 0x24], eax
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x100419eb
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, dword [edi]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x10041a08
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, dword [edi + 0x78]
test eax, eax
je 0x10041a1f
cmp bx, word [edi + 0x90]
jae 0x10041a1f
add eax, 0xa0
jmp 0x10041a38
mov eax, dword [edi]
push 0x19
push eax
mov dword [eax + 0x40], 0x19
call fcn.10096500
add esp, 8
mov eax, 0x1010df80
push eax
call sym.e_sqlite3.dll_sqlite3_value_blob
add esp, 4
mov ebx, eax
mov dword [ebp - 0x30], ebx
test edi, edi
je 0x10041a87
mov ecx, dword [edi]
mov edx, dword [edi + 0x24]
cmp byte [ecx + 0x57], 0
jne 0x10041a5d
test edx, edx
jne 0x10041a5d
xor eax, eax
jmp 0x10041a69
push edx
push ecx
call fcn.10025920
mov ecx, dword [edi]
add esp, 8
mov dword [edi + 0x24], eax
mov eax, dword [ecx + 0xc]
test eax, eax
je 0x10041a87
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
test ebx, ebx
jne 0x10041b6a
test edi, edi
je 0x10041b52
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10041ab4
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x10041ad2
jg 0x10041ac8
cmp dword [edi + 0x88], 0
jbe 0x10041ad2
push edi
push ebx
call fcn.1006c280
add esp, 8
push edi
call fcn.100d5790
add esp, 4
mov byte [edi + 0x95], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
mov word [edi + 0x92], 0xff02
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x1c], 1
mov dword [edi + 0x30], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
cmp byte [ebx + 0x57], 0
jne 0x10041b2d
test eax, eax
je 0x10041b37
push eax
push ebx
call fcn.10025920
add esp, 8
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10041b52
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
cmp dword [ebp - 4], 0
mov eax, 0x10b
pop edi
mov ecx, 7
pop esi
cmovne eax, ecx
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
lea eax, [ebp - 0x18]
push esi
push eax
push 0x22
push dword [ebp + 8]
mov dword [ebp - 0xc], esi
mov dword [ebp - 0x18], esi
call fcn.1004cae0
mov ebx, eax
add esp, 0x10
test ebx, ebx
jne 0x10041c88
push dword [ebp - 0x38]
mov ebx, dword [ebp - 0x18]
push dword [ebp - 0x3c]
push 1
push ebx
call sym.e_sqlite3.dll_sqlite3_bind_int64
push ebx
call sym.e_sqlite3.dll_sqlite3_step
add esp, 0x14
cmp eax, 0x64
mov eax, 1
cmove esi, eax
mov dword [ebp - 0xc], esi
test ebx, ebx
je 0x10041c88
mov esi, dword [ebx]
mov dword [ebp - 0x2c], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10041be1
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
mov esi, dword [ebp - 0x2c]
add esp, 4
cmp dword [ebx + 0x8c], 0
jl 0x10041bff
jg 0x10041bf5
cmp dword [ebx + 0x88], 0
jbe 0x10041bff
push ebx
push esi
call fcn.1006c280
add esp, 8
push ebx
call fcn.100d5790
add esp, 4
mov byte [ebx + 0x95], 1
mov dword [ebx + 0x20], 0xffffffff
mov dword [ebx + 0x24], 0
mov word [ebx + 0x92], 0xff02
mov dword [ebx + 0x28], 0
mov dword [ebx + 0x2c], 0
mov dword [ebx + 0x1c], 1
mov dword [ebx + 0x30], 0
mov dword [ebx + 0x40], 0
mov dword [ebx + 0x44], 0
cmp byte [esi + 0x57], 0
jne 0x10041c5e
test eax, eax
jne 0x10041c5e
xor ebx, ebx
jmp 0x10041c6a
push eax
push esi
call fcn.10025920
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10041c85
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov esi, dword [ebp - 0xc]
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x10042470
test esi, esi
je 0x100420bb
push ebx
lea eax, [ebp - 0x28]
mov dword [ebp - 0x18], ebx
push eax
lea eax, [ebp - 0x18]
mov dword [ebp - 0x28], ebx
push eax
push dword [ebp - 0x1c]
push dword [ebp - 0x20]
push dword [ebp + 8]
call fcn.100a3110
mov ebx, eax
add esp, 0x18
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x1004202d
mov ebx, dword [ebp - 0x18]
xorps xmm0, xmm0
mov eax, dword [ebp - 0x28]
mov ecx, ebx
movlpd qword [ebp - 0x64], xmm0
movlpd qword [ebp - 0x5c], xmm0
movlpd qword [ebp - 0x54], xmm0
movlpd qword [ebp - 0x4c], xmm0
movlpd qword [ebp - 0x44], xmm0
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
test ebx, ebx
je 0x10041d13
cmp byte [ebx], 0
je 0x10041d13
lea eax, [ebp - 0x5c]
push eax
lea eax, [ebx + 1]
push eax
call fcn.100a0320
mov ecx, dword [ebp - 0x6c]
add esp, 8
lea esi, [eax + 1]
jmp 0x10041d18
mov esi, 1
test ebx, ebx
je 0x10041e86
xor eax, eax
cmp dword [ebp - 0x50], eax
sete al
xor edx, edx
mov dword [ebp - 0x28], eax
xor ebx, ebx
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x58]
mov eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], edx
mov dword [ebp - 0x1c], edx
mov dword [ebp - 8], edx
mov dword [ebp - 0x2c], ebx
je 0x10041d51
test eax, eax
jne 0x10041d51
add dword [ebp - 0x5c], 1
adc dword [ebp - 0x58], edx
cmp esi, dword [ebp - 0x68]
jl 0x10041d5e
mov dword [ebp - 0x6c], edx
jmp 0x10041e79
test eax, eax
jne 0x10041d90
mov al, byte [esi + ecx]
lea edx, [esi + ecx]
test al, al
jns 0x10041d83
lea eax, [ebp - 0x1c]
push eax
push edx
call fcn.100a0210
mov ecx, dword [ebp - 0x6c]
mov edx, eax
mov eax, dword [ebp - 0x1c]
add esp, 8
jmp 0x10041d8b
movzx eax, al
mov edx, 1
mov dword [ebp - 0x20], eax
add esi, edx
mov al, byte [ecx + esi]
add ecx, esi
test al, al
jns 0x10041dab
lea eax, [ebp - 8]
push eax
push ecx
call fcn.100a0210
mov ecx, dword [ebp - 8]
add esp, 8
jmp 0x10041db3
movzx ecx, al
mov eax, 1
mov edx, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x64], esi
cmp edx, dword [ebp - 0x50]
jg 0x10041e74
mov eax, dword [ebp - 0x68]
sub eax, esi
cmp ecx, eax
jg 0x10041e74
test ecx, ecx
je 0x10041e74
lea eax, [ecx + edx]
lea ecx, [ebp - 0x2c]
mov dword [ebp - 0x28], eax
push ecx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.100284d0
mov ebx, dword [ebp - 0x2c]
add esp, 0xc
mov esi, dword [ebp - 0x64]
test ebx, ebx
jne 0x10041e79
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x10041e79
push dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
add eax, esi
push eax
mov eax, dword [ebp - 0x20]
add eax, ecx
push eax
call fcn.100fba90
mov eax, dword [ebp - 0x28]
add esp, 0xc
add esi, dword [ebp - 0x1c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], esi
jne 0x10041e79
mov ecx, dword [ebp - 0x6c]
mov al, byte [esi + ecx]
test al, al
jns 0x10041e54
lea eax, [ebp - 0x44]
push eax
lea eax, [esi + ecx]
push eax
call fcn.100a0210
mov edx, dword [ebp - 0x44]
add esp, 8
mov esi, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x6c]
jmp 0x10041e5f
movzx edx, al
mov eax, 1
mov dword [ebp - 0x44], edx
add esi, eax
mov eax, dword [ebp - 0x68]
sub eax, esi
cmp eax, edx
jl 0x10041e74
lea eax, [esi + ecx]
add esi, edx
mov dword [ebp - 0x48], eax
jmp 0x10041e79
mov ebx, 0x10b
mov dword [ebp - 8], ebx
test ebx, ebx
jne 0x10042004
jmp 0x10041e8b
xor ebx, ebx
mov dword [ebp - 8], ebx
mov ecx, dword [ebp - 0x6c]
nop
test ecx, ecx
je 0x10042004
xor edx, edx
cmp dword [ebp - 0x50], edx
sete dl
xor eax, eax
mov dword [ebp - 0x20], eax
xor ebx, ebx
mov dword [ebp - 0x2c], eax
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x58]
mov dword [ebp - 8], ebx
je 0x10041ec3
test edx, edx
jne 0x10041ec3
add dword [ebp - 0x5c], 1
adc dword [ebp - 0x58], ebx
cmp esi, dword [ebp - 0x68]
jl 0x10041ed2
xor ecx, ecx
mov dword [ebp - 0x6c], ecx
jmp 0x10041fef
test edx, edx
jne 0x10041f04
mov al, byte [esi + ecx]
lea edx, [esi + ecx]
test al, al
jns 0x10041ef7
lea eax, [ebp - 0x2c]
push eax
push edx
call fcn.100a0210
mov ecx, dword [ebp - 0x6c]
mov edx, eax
mov eax, dword [ebp - 0x2c]
add esp, 8
jmp 0x10041eff
movzx eax, al
mov edx, 1
mov dword [ebp - 0x20], eax
add esi, edx
mov al, byte [ecx + esi]
add ecx, esi
test al, al
jns 0x10041f1f
lea eax, [ebp - 0x28]
push eax
push ecx
call fcn.100a0210
mov ecx, dword [ebp - 0x28]
add esp, 8
jmp 0x10041f27
movzx ecx, al
mov eax, 1
mov edx, dword [ebp - 0x20]
add esi, eax
mov dword [ebp - 0x1c], ecx
mov dword [ebp - 0x64], esi
cmp edx, dword [ebp - 0x50]
jg 0x10041ffc
mov eax, dword [ebp - 0x68]
sub eax, esi
cmp ecx, eax
jg 0x10041ffc
test ecx, ecx
je 0x10041ffc
lea eax, [ecx + edx]
lea ecx, [ebp - 8]
mov dword [ebp - 0x2c], eax
push ecx
push eax
lea eax, [ebp - 0x54]
push eax
call fcn.100284d0
mov ebx, dword [ebp - 8]
add esp, 0xc
mov esi, dword [ebp - 0x64]
test ebx, ebx
jne 0x10041fec
mov ecx, dword [ebp - 0x54]
test ecx, ecx
je 0x10041fec
push dword [ebp - 0x1c]
mov eax, dword [ebp - 0x6c]
add eax, esi
push eax
mov eax, dword [ebp - 0x20]
add eax, ecx
push eax
call fcn.100fba90
mov eax, dword [ebp - 0x2c]
add esp, 0xc
add esi, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 0x50], eax
mov eax, dword [ebp - 0x5c]
or eax, dword [ebp - 0x58]
mov dword [ebp - 0x64], esi
jne 0x10041fef
mov al, byte [esi + ecx]
test al, al
jns 0x10041fc5
lea eax, [ebp - 0x44]
push eax
lea eax, [esi + ecx]
push eax
call fcn.100a0210
mov esi, dword [ebp - 0x64]
add esp, 8
mov ecx, dword [ebp - 0x6c]
jmp 0x10041fd0
movzx eax, al
mov dword [ebp - 0x44], eax
mov eax, 1
lea edx, [eax + esi]
mov eax, dword [ebp - 0x68]
mov esi, dword [ebp - 0x44]
sub eax, edx
mov dword [ebp - 0x64], edx
cmp eax, esi
jl 0x10041ffc
lea eax, [edx + ecx]
add esi, edx
mov dword [ebp - 0x48], eax
jmp 0x10041fef
mov ecx, dword [ebp - 0x6c]
mov dword [ebp - 8], ebx
test ebx, ebx
je 0x10041e90
jmp 0x10042004
mov ebx, 0x10b
mov dword [ebp - 8], ebx
push dword [ebp - 0x50]
push dword [ebp - 0x54]
push dword [ebp + 0x1c]
push dword [ebp + 0x18]
call fcn.1004cf10
push dword [ebp - 0x54]
mov esi, eax
call sym.e_sqlite3.dll_sqlite3_free
xor ecx, ecx
add esp, 0x14
test esi, esi
cmovg ecx, dword [ebp - 0xc]
mov dword [ebp - 0xc], ecx
mov eax, dword [ebp - 0x18]
test eax, eax
je 0x100420bb
cmp dword [0x101250f8], 0
je 0x100420a7
mov eax, dword [0x10129520]
test eax, eax
je 0x1004205e
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
push dword [ebp - 0x18]
mov esi, dword [0x10125124]
mov ecx, esi
call dword [0x1010a1d8]
call esi
mov esi, dword [0x1012511c]
add esp, 4
sub dword [0x101294b8], eax
mov ecx, esi
dec dword [0x101294dc]
push dword [ebp - 0x18]
call dword [0x1010a1d8]
call esi
mov eax, dword [0x10129520]
add esp, 4
test eax, eax
je 0x100420bb
mov esi, dword [0x10125150]
jmp 0x100420ad
mov esi, dword [0x1012511c]
push eax
mov ecx, esi
call dword [0x1010a1d8]
call esi
add esp, 4
test ebx, ebx
jne 0x10042470
cmp dword [ebp - 0xc], ebx
je 0x10042470
mov eax, dword [ebp - 0x30]
movsx esi, byte [eax]
mov dword [ebp - 0x18], esi
lea eax, [esi - 1]
cmp eax, 0xe
ja 0x1004247d
mov ebx, dword [ebp - 0x3c]
mov eax, ebx
sub eax, dword [ebp - 0x10]
mov ecx, dword [ebp + 0x20]
inc eax
cdq
and edx, 0xf
add eax, edx
mov edx, dword [ebp - 0x10]
mov dword [ecx + 0x18], edx
mov edx, dword [ebp - 0x14]
mov dword [ecx + 0x1c], edx
mov edx, dword [ebp - 0x38]
mov dword [ecx + 0x24], edx
mov edx, dword [ebp + 0xc]
mov dword [ecx + 8], edx
mov edx, dword [ebp + 0x10]
sar eax, 4
mov dword [ecx + 0xc], edx
mov edx, dword [ebp + 0x14]
mov dword [ecx], eax
mov dword [ecx + 0x20], ebx
mov dword [ecx + 0x10], edx
lea ecx, [esi + 1]
cmp ecx, 0x10
jge 0x1004215f
mov edi, dword [ebp + 0x20]
mov eax, ecx
shl eax, 5
lea ebx, [edi + 0x38]
add ebx, eax
mov eax, dword [edi]
lea ebx, [ebx + 0x20]
imul eax, ecx
cdq
add eax, dword [edi + 0x18]
adc edx, dword [edi + 0x1c]
inc ecx
mov dword [ebx - 0x20], eax
mov dword [ebx - 0x1c], edx
cmp ecx, 0x10
jl 0x10042134
mov edx, dword [edi + 0x1c]
mov eax, dword [edi]
mov ecx, dword [edi + 0x18]
mov edi, dword [ebp - 0x24]
mov dword [ebp - 0x14], edx
jmp 0x10042162
mov ecx, dword [ebp - 0x10]
imul eax, esi
mov ebx, esi
shl ebx, 5
mov dword [ebp - 0x28], ebx
cdq
add eax, ecx
mov ecx, dword [ebp + 0x20]
adc edx, dword [ebp - 0x14]
mov dword [ebx + ecx + 0x38], eax
mov eax, ecx
mov ecx, dword [ebp + 8]
mov dword [ebx + eax + 0x3c], edx
lea edx, [eax + 0x4c]
mov ecx, dword [ecx + 0xe8]
lea eax, [ebp - 8]
push eax
mov eax, dword [ebp - 4]
add edx, ebx
cmp eax, ecx
mov dword [ebp - 0x2c], edx
cmovle eax, ecx
add eax, 0x14
push eax
push edx
call fcn.100284d0
mov ebx, dword [ebp - 8]
add esp, 0xc
test ebx, ebx
jne 0x100421e4
push dword [ebp - 4]
mov eax, dword [ebp - 0x2c]
push dword [ebp - 0x30]
push dword [eax]
call fcn.100fba90
mov ecx, dword [ebp - 0x28]
add esp, 0xc
mov edx, dword [ebp + 0x20]
xorps xmm0, xmm0
mov eax, dword [ebp - 4]
mov dword [ecx + edx + 0x50], eax
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax]
add eax, dword [ebp - 4]
movups xmmword [eax], xmm0
mov dword [eax + 0x10], ebx
jmp 0x100421ea
mov ecx, dword [ebp - 0x28]
mov edx, dword [ebp + 0x20]
test esi, esi
js 0x10042470
lea esi, [edx + 0x34]
add esi, ecx
mov dword [ebp - 0x1c], esi
nop word [eax + eax]
test ebx, ebx
jne 0x10042470
mov ecx, dword [esi + 0x18]
test ecx, ecx
je 0x10042450
xorps xmm0, xmm0
mov eax, dword [esi + 0x1c]
movlpd qword [ebp - 0x60], xmm0
movlpd qword [ebp - 0x58], xmm0
movlpd qword [ebp - 0x50], xmm0
movlpd qword [ebp - 0x48], xmm0
mov dword [ebp - 0x40], ebx
mov dword [ebp - 0x6c], ecx
mov dword [ebp - 0x68], eax
cmp byte [ecx], bl
je 0x10042250
lea eax, [ebp - 0x5c]
push eax
lea eax, [ecx + 1]
push eax
call fcn.100a0320
add esp, 8
inc eax
mov dword [ebp - 0x64], eax
jmp 0x10042257
mov dword [ebp - 0x64], 1
lea eax, [ebp - 0x6c]
push eax
call fcn.10074940
add esp, 4
mov ebx, eax
cmp dword [ebp - 0x6c], 0
je 0x1004228c
nop dword [eax + eax]
test ebx, ebx
jne 0x10042450
lea eax, [ebp - 0x6c]
push eax
call fcn.10074940
add esp, 4
mov ebx, eax
cmp dword [ebp - 0x6c], 0
jne 0x10042270
test ebx, ebx
jne 0x10042450
mov eax, dword [ebp - 0x50]
cmp eax, dword [esi + 0x14]
jle 0x100422d3
mov eax, dword [esi + 0xc]
mov dword [ebp - 0x30], eax
call sym.e_sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x10042428
mov eax, dword [ebp - 0x50]
cdq
push edx
push eax
push dword [ebp - 0x30]
call fcn.100bc6c0
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x10042428
mov eax, dword [ebp - 0x50]
mov dword [esi + 0x14], eax
mov dword [esi + 0xc], ecx
test eax, eax
jle 0x100422e9
push eax
push dword [ebp - 0x54]
push dword [esi + 0xc]
call fcn.100fba90
mov eax, dword [ebp - 0x50]
add esp, 0xc
cmp dword [ebp - 0x18], 0
mov dword [esi + 0x10], eax
jbe 0x10042450
mov eax, dword [ebp - 0x58]
lea edx, [ebp - 0x20]
mov ecx, dword [ebp - 0x5c]
push 0
push edx
lea edx, [ebp - 8]
mov dword [ebp - 8], 0
push edx
push eax
push ecx
push dword [ebp + 8]
mov dword [ebp - 0x20], 0
mov dword [esi - 0x1c], ecx
mov dword [esi - 0x18], eax
call fcn.100a3110
mov ecx, dword [ebp - 0x20]
mov ebx, eax
mov eax, dword [ebp + 8]
add esp, 0x18
mov eax, dword [eax + 0xe8]
cmp ecx, eax
cmovg eax, ecx
lea edx, [eax + 0x14]
mov eax, dword [ebp - 8]
mov dword [ebp - 0x30], edx
test ebx, ebx
jne 0x100423af
cmp edx, dword [esi]
jle 0x10042387
mov eax, dword [esi - 8]
mov dword [ebp - 0x2c], eax
call sym.e_sqlite3.dll_sqlite3_initialize
test eax, eax
jne 0x1004242f
mov eax, dword [ebp - 0x30]
cdq
push edx
push eax
push dword [ebp - 0x2c]
call fcn.100bc6c0
mov ecx, eax
add esp, 0xc
test ecx, ecx
je 0x1004242f
mov eax, dword [ebp - 0x30]
mov dword [esi], eax
mov eax, dword [ebp - 8]
mov dword [esi - 8], ecx
mov ecx, dword [ebp - 0x20]
push ecx
push eax
push dword [esi - 8]
call fcn.100fba90
mov ecx, dword [ebp - 0x20]
xorps xmm0, xmm0
mov eax, dword [esi - 8]
add esp, 0xc
mov dword [esi - 4], ecx
movups xmmword [eax + ecx], xmm0
mov dword [eax + ecx + 0x10], 0
mov eax, dword [ebp - 8]
test eax, eax
je 0x10042450
cmp dword [0x101250f8], 0
je 0x10042439
mov ecx, dword [0x10129520]
test ecx, ecx
je 0x100423e1
mov esi, dword [0x10125148]
push ecx
mov ecx, esi
call dword [0x1010a1d8]
call esi
mov eax, dword [ebp - 8]
add esp, 4
mov esi, dword [0x10125124]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
mov esi, dword [0x1012511c]
add esp, 4
sub dword [0x101294b8], eax
mov ecx, esi
dec dword [0x101294dc]
push dword [ebp - 8]
call dword [0x1010a1d8]
call esi
mov eax, dword [0x10129520]
add esp, 4
test eax, eax
je 0x1004244d
mov esi, dword [0x10125150]
jmp 0x1004243f
mov ebx, 7
jmp 0x10042450
mov ebx, 7
jmp 0x100423ac
mov esi, dword [0x1012511c]
push eax
mov ecx, esi
call dword [0x1010a1d8]
call esi
add esp, 4
mov esi, dword [ebp - 0x1c]
push dword [ebp - 0x54]
call sym.e_sqlite3.dll_sqlite3_free
mov eax, dword [ebp - 0x18]
sub esi, 0x20
dec eax
mov dword [ebp - 0x1c], esi
add esp, 4
mov dword [ebp - 0x18], eax
test eax, eax
jns 0x10042200
test edi, edi
jne 0x1004254c
jmp 0x10042613
test edi, edi
je 0x10042540
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100424a2
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x100424c0
jg 0x100424b6
cmp dword [edi + 0x88], 0
jbe 0x100424c0
push edi
push ebx
call fcn.1006c280
add esp, 8
push edi
call fcn.100d5790
add esp, 4
mov byte [edi + 0x95], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
mov word [edi + 0x92], 0xff02
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x1c], 1
mov dword [edi + 0x30], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
cmp byte [ebx + 0x57], 0
jne 0x1004251b
test eax, eax
je 0x10042525
push eax
push ebx
call fcn.10025920
add esp, 8
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x10042540
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
pop edi
pop esi
mov eax, 0x10b
pop ebx
mov esp, ebp
pop ebp
ret
mov esi, dword [edi]
mov dword [ebp - 0x30], esi
mov eax, dword [esi + 0xc]
test eax, eax
je 0x1004256f
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
mov esi, dword [ebp - 0x30]
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x1004258d
jg 0x10042583
cmp dword [edi + 0x88], 0
jbe 0x1004258d
push edi
push esi
call fcn.1006c280
add esp, 8
push edi
call fcn.100d5790
add esp, 4
mov byte [edi + 0x95], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
mov word [edi + 0x92], 0xff02
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x1c], 1
mov dword [edi + 0x30], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
cmp byte [esi + 0x57], 0
jne 0x100425ec
test eax, eax
jne 0x100425ec
xor edi, edi
jmp 0x100425f8
push eax
push esi
call fcn.10025920
add esp, 8
mov edi, eax
mov eax, dword [esi + 0xc]
test eax, eax
je 0x10042613
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
test ebx, ebx
jne 0x10042619
mov ebx, edi
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret
test edi, edi
jne 0x1004262f
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [edi]
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x1004264c
mov esi, dword [0x10125148]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
cmp dword [edi + 0x8c], 0
jl 0x1004266a
jg 0x10042660
cmp dword [edi + 0x88], 0
jbe 0x1004266a
push edi
push ebx
call fcn.1006c280
add esp, 8
push edi
call fcn.100d5790
add esp, 4
mov byte [edi + 0x95], 1
mov dword [edi + 0x20], 0xffffffff
mov dword [edi + 0x24], 0
mov word [edi + 0x92], 0xff02
mov dword [edi + 0x28], 0
mov dword [edi + 0x2c], 0
mov dword [edi + 0x1c], 1
mov dword [edi + 0x30], 0
mov dword [edi + 0x40], 0
mov dword [edi + 0x44], 0
cmp byte [ebx + 0x57], 0
jne 0x100426c9
test eax, eax
jne 0x100426c9
xor edi, edi
jmp 0x100426d5
push eax
push ebx
call fcn.10025920
add esp, 8
mov edi, eax
mov eax, dword [ebx + 0xc]
test eax, eax
je 0x100426f0
mov esi, dword [0x10125150]
mov ecx, esi
push eax
call dword [0x1010a1d8]
call esi
add esp, 4
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret