Function at 0x4186f0
Capabilities:
Reference sql statements

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x20
mov edi, dword [esp + 0x34]
mov esi, dword [ecx + 8]
mov dword [esp + 8], 0
xor ebp, ebp
mov eax, edi
or eax, dword [esp + 0x38]
je 0x4187dc
mov eax, dword [edx]
mov eax, dword [eax + 4]
mov dword [esp], 0
test edi, edi
mov dword [esp + 0x14], edx
mov dword [esp + 0x1c], ecx
je 0x41873a
xor ebp, ebp
mov ecx, edi
inc ebp
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x418730
jmp 0x41873c
xor ebp, ebp
mov ecx, esp
push eax
push str.PRAGMA_index_list_Q
push 0
push ecx
mov dword [esp + 0x28], esi
push esi
call fcn.00404520
add esp, 0x14
mov ebx, eax
test eax, eax
je 0x418806
push dword [esp]
call fcn.0042d1d0
add esp, 4
mov dword [esp + 8], ebx
mov eax, dword [esp + 0x14]
mov ebp, dword [eax]
xor ebx, ebx
test edi, edi
je 0x418797
lea esi, [esp + 8]
nop dword [eax]
mov ecx, esi
mov edx, ebx
push edi
push ebp
call fcn.00418b80
add esp, 8
mov ebx, eax
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x418780
mov edi, dword [esp + 0x38]
test edi, edi
je 0x4187c7
lea esi, [esp + 8]
nop word cs:[eax + eax]
mov ecx, esi
mov edx, ebx
push edi
push ebp
call fcn.00418b80
add esp, 8
mov ebx, eax
mov edi, dword [edi + 0x18]
test edi, edi
jne 0x4187b0
mov ebp, dword [esp + 8]
test ebp, ebp
je 0x41898f
push ebx
call fcn.00424f10
add esp, 4
mov eax, ebp
add esp, 0x20
pop esi
pop edi
pop ebx
pop ebp
ret
push dword [esp + 0xc]
call fcn.0042d1d0
add esp, 4
mov ebx, eax
test ebx, ebx
jne 0x41875e
push dword [esp]
call fcn.0042be30
add esp, 4
cmp eax, 0x64
jne 0x418b3c
mov dword [esp + 0xc], 0
push 1
push dword [esp + 4]
call fcn.00431d90
add esp, 8
test eax, eax
je 0x418980
test edi, edi
je 0x41884e
mov ecx, edi
nop
mov dword [ecx + 0xc], 0
mov ecx, dword [ecx + 0x18]
test ecx, ecx
jne 0x418840
push eax
push str.PRAGMA_index_xInfo_Q
push 0
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x28]
call fcn.00404520
add esp, 0x14
mov ebx, eax
mov eax, dword [esp + 0xc]
test ebx, ebx
jne 0x418b4e
push eax
call fcn.0042be30
add esp, 4
mov ecx, dword [esp + 0xc]
mov esi, dword [esp + 0x38]
cmp eax, 0x64
jne 0x418aa7
push 0
push ecx
call fcn.0042d110
add esp, 8
mov dword [esp + 4], eax
push 1
push dword [esp + 0x10]
call fcn.0042d110
add esp, 8
mov ebx, eax
push 4
push dword [esp + 0x10]
call fcn.00431d90
add esp, 8
mov dword [esp + 0x10], eax
cmp dword [esp + 4], ebp
jge 0x418920
mov dword [esp + 4], esi
test edi, edi
je 0x4187f0
mov esi, edi
jmp 0x4188eb
mov esi, dword [esi + 0x18]
test esi, esi
je 0x4187f0
cmp dword [esi + 0xc], 0
jne 0x4188e0
cmp dword [esi + 8], ebx
jne 0x4188e0
push dword [esp + 0x10]
push dword [esi]
call fcn.00428d80
add esp, 8
test eax, eax
jne 0x4188e0
mov dword [esi + 0xc], 1
mov esi, dword [esp + 4]
jmp 0x418956
test esi, esi
je 0x418954
mov dword [esp + 4], esi
cmp dword [esi + 8], ebx
jne 0x4187f0
push dword [esp + 0x10]
mov eax, dword [esp + 8]
push dword [eax]
call fcn.00428d80
add esp, 8
test eax, eax
jne 0x4187f0
mov esi, dword [esp + 4]
mov esi, dword [esi + 0x18]
jmp 0x418956
xor esi, esi
push dword [esp + 0xc]
call fcn.0042be30
add esp, 4
mov ecx, dword [esp + 0xc]
cmp eax, 0x64
je 0x41888f
jmp 0x418aa7
xor ebx, ebx
test ebx, ebx
je 0x418806
jmp 0x41875e
mov eax, dword [esp + 0x14]
mov eax, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 4], eax
jmp 0x4189a1
inc eax
movzx ecx, byte [eax]
cmp ecx, 0x5f
je 0x4189a0
test ecx, ecx
je 0x4189d3
mov edx, ecx
add dl, 0xd0
cmp dl, 0xa
jb 0x4189a0
mov edx, ecx
add dl, 0x9f
cmp dl, 0x1a
jb 0x4189a0
add cl, 0xbf
cmp cl, 0x19
jbe 0x4189a0
mov dword [esp + 0x14], str.CREATE_INDEX___w__ON___w___s_
jmp 0x4189db
mov dword [esp + 0x14], str.CREATE_INDEX__s_ON__s__s_
xor ebp, ebp
xor edx, edx
xor edi, edi
nop word cs:[eax + eax]
mov dword [esp], 0
movzx ecx, byte [ebx]
test cl, cl
je 0x418a25
mov eax, 1
nop word cs:[eax + eax]
movsx ecx, cl
lea ebp, [ebp + ebp*8]
add ebp, ecx
mov dword [esp], eax
movzx ecx, byte [ebx + eax]
inc eax
test cl, cl
jne 0x418a10
push edx
call fcn.00424f10
add esp, 4
push ebp
push dword [esp + 8]
push str._s_idx__08x
call fcn.00428600
add esp, 0xc
test eax, eax
je 0x418acc
mov dword [esp + 0x10], eax
push eax
push str.SELECT_count___FROM_sqlite_schema_WHERE_name_Q_AND_type_in__index_table_view_
call fcn.00428600
add esp, 8
mov esi, eax
mov dword [esp], 0
push 0
lea eax, [esp + 4]
push eax
push 0x418ca0
push esi
push dword [esp + 0x28]
call fcn.00435e30
add esp, 0x14
mov dword [esp + 8], eax
push esi
call fcn.00424f10
add esp, 4
cmp dword [esp], 0
je 0x418ae0
inc edi
cmp edi, 0x32
mov edx, dword [esp + 0x10]
jne 0x4189f0
mov ebp, 0x305
jmp 0x4187d3
push ecx
call fcn.0042d1d0
add esp, 4
mov ebx, eax
test eax, eax
jne 0x41875e
push dword [esp]
call fcn.0042d1d0
add esp, 4
xor ebp, ebp
jmp 0x4187dc
test edi, edi
mov eax, 7
mov ebp, 0x305
cmove ebp, eax
jmp 0x4187d3
push ebx
push dword [esp + 8]
push dword [esp + 0x18]
push dword [esp + 0x20]
call fcn.00428600
add esp, 0x10
mov edi, eax
test eax, eax
je 0x418b5c
mov esi, dword [esp + 0x1c]
push dword [esi + 0x24]
push 0
push 0
push edi
push dword [esp + 0x28]
call fcn.00435e30
add esp, 0x14
mov dword [esp + 8], eax
mov ebp, 0x305
test eax, eax
jne 0x418b61
add esi, 0x2c
lea ecx, [esp + 8]
mov edx, esi
push edi
push dword [esp + 0x14]
call fcn.00418cd0
add esp, 8
mov ebp, dword [esp + 8]
jmp 0x418b61
push dword [esp]
call fcn.0042d1d0
add esp, 4
mov ebx, eax
jmp 0x418769
push eax
call fcn.0042d1d0
add esp, 4
jmp 0x41875e
mov ebp, 7
push dword [esp + 0x10]
call fcn.00424f10
add esp, 4
push edi
call fcn.00424f10
add esp, 4
jmp 0x4187d3