Function at 0x66656220
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, eax
push edi
push esi
push ebx
sub esp, 0x5c
mov edi, dword [ebp + 0x28]
mov dword [esp + 0x34], edx
mov eax, dword [esp + 0x70]
mov edx, dword [esp + 0x74]
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], edx
test edi, edi
je 0x66656250
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [ebp + 0x14]
mov edi, ecx
test eax, eax
je 0x666562c8
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x2c]
mov dword [esp + 4], 1
mov dword [esp], eax
mov dword [esp + 8], ecx
mov dword [esp + 0xc], ebx
call sym.libsqlite3_0.dll_sqlite3_bind_int64
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_step
cmp eax, 0x64
je 0x66656300
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov edx, dword [ebp + 0x28]
test edx, edx
jne 0x66656244
mov dword [ebp + 0x28], eax
test eax, eax
jne 0x66656244
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 4], str.Node__lld_missing_from_database
mov dword [esp], ebp
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.665d3e50
jmp 0x66656244
mov eax, dword [ebp + 8]
mov dword [esp + 4], 0x66686280
mov dword [esp], ebp
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 4]
mov dword [esp + 8], eax
call fcn.66644bb0
mov esi, dword [ebp + 0x28]
mov dword [ebp + 0x14], eax
test esi, esi
je 0x66656259
jmp 0x66656244
mov eax, dword [ebp + 0x14]
mov dword [esp + 4], 0
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_column_bytes
mov ebx, dword [ebp + 0x14]
xor edx, edx
mov esi, eax
mov eax, ebx
call fcn.66594040
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_value_blob
mov dword [esp + 0x20], eax
test ebx, ebx
je 0x66656338
mov eax, ebx
call fcn.66594000
mov ebx, dword [0x6667ced0]
test ebx, ebx
jne 0x666566be
call fcn.66587320
test eax, eax
jne 0x66656501
call fcn.665cb300
test eax, eax
jne 0x66656501
mov eax, esi
cdq
call fcn.6658bcf0
mov dword [esp + 0x38], eax
test eax, eax
je 0x66656501
mov ecx, dword [esp + 0x20]
mov dword [esp + 8], esi
mov dword [esp], eax
mov dword [esp + 4], ecx
call sub.msvcrt.dll_memcpy
mov eax, dword [ebp + 0x14]
mov dword [esp], eax
call sym.libsqlite3_0.dll_sqlite3_reset
mov ecx, dword [ebp + 0x28]
test ecx, ecx
je 0x666566c8
cmp esi, 3
jle 0x666565d9
test edi, edi
je 0x66656688
mov ecx, dword [esp + 0x38]
movzx eax, byte [ecx + 2]
movzx edx, byte [ecx + 3]
shl eax, 8
lea ebx, [eax + edx]
mov eax, dword [ebp + 0x10]
mov ecx, ebx
mov dword [esp + 0x48], ebx
lea edx, [eax + 1]
imul ecx, edx
lea ecx, [ecx*8 + 3]
cmp ecx, esi
jge 0x66656650
mov esi, dword [esp + 0x34]
mov dword [esp + 0x20], 0
lea ecx, [esi - 1]
mov dword [esp + 0x4c], ecx
test ebx, ebx
je 0x666565fd
imul edx, dword [esp + 0x20]
mov esi, dword [esp + 0x38]
xor ebx, ebx
lea ecx, [esi + edx*8 + 4]
mov edx, dword [ecx]
lea esi, [ecx + 8]
mov dword [esp + 0x44], esi
bswap edx
mov dword [esp + 0x3c], edx
mov edx, dword [ecx + 4]
bswap edx
mov dword [esp + 0x40], edx
test eax, eax
jg 0x666564cc
jmp 0x66656530
cmp esi, edx
setg al
test al, al
jne 0x66656598
test edi, edi
je 0x666564c4
mov eax, dword [edi + ebx*8]
cmp dword [ebp + 0xc], 0
bswap eax
mov dword [esp + 0x24], eax
mov eax, dword [edi + ebx*8 + 4]
bswap eax
jne 0x66656510
fld dword [esp + 0x24]
mov dword [esp + 0x24], esi
fld dword [esp + 0x24]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x66656490
mov dword [esp + 0x24], edx
fld dword [esp + 0x24]
mov dword [esp + 0x24], eax
fld dword [esp + 0x24]
fxch st(1)
fcompi st(1)
fstp st(0)
jbe 0x666564c4
lea esi, [esi]
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
mov dword [esp + 4], str.Dimension__d_of_cell__d_on_node__lld_is_corrupt_relative_to_parent
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
mov dword [esp], ebp
mov dword [esp + 0x24], ecx
call fcn.665d3e50
mov ecx, dword [esp + 0x24]
add ebx, 1
cmp ebx, dword [ebp + 0x10]
jge 0x66656530
mov eax, dword [ecx + ebx*8 + 0xc]
mov esi, dword [ecx + ebx*8 + 8]
bswap eax
mov edx, eax
mov eax, dword [ebp + 0xc]
bswap esi
test eax, eax
jne 0x66656430
mov dword [esp + 0x24], edx
fld dword [esp + 0x24]
mov dword [esp + 0x24], esi
fld dword [esp + 0x24]
fcompi st(1)
fstp st(0)
seta al
jmp 0x66656435
mov dword [ebp + 0x28], 7
jmp 0x66656289
cmp edx, eax
jg 0x66656490
cmp esi, dword [esp + 0x24]
jl 0x66656490
add ebx, 1
cmp ebx, dword [ebp + 0x10]
jl 0x666564cc
lea esi, [esi]
mov edx, dword [esp + 0x34]
test edx, edx
je 0x66656618
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov esi, dword [esp + 0x40]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 8], eax
mov eax, ebp
mov dword [esp + 0xc], edx
xor edx, edx
mov dword [esp], esi
mov dword [esp + 4], ebx
call fcn.6664fe80
mov dword [esp], esi
mov ecx, dword [esp + 0x44]
mov eax, ebp
mov dword [esp + 4], ebx
mov edx, dword [esp + 0x4c]
call fcn.66656220
add dword [ebp + 0x24], 1
add dword [esp + 0x20], 1
mov eax, dword [esp + 0x20]
cmp eax, dword [esp + 0x48]
je 0x666565fd
mov eax, dword [ebp + 0x10]
lea edx, [eax + 1]
jmp 0x666563fa
mov eax, dword [esp + 0x28]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], ebx
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x14], edx
mov dword [esp + 0xc], eax
mov dword [esp + 4], str.Dimension__d_of_cell__d_on_node__lld_is_corrupt
mov dword [esp], ebp
mov dword [esp + 0x30], ecx
call fcn.665d3e50
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x24]
jmp 0x6665643d
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x10], esi
mov dword [esp + 4], str.Node__lld_is_too_small___d_bytes_
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp], ebp
call fcn.665d3e50
mov eax, dword [esp + 0x38]
mov dword [esp + 0x70], eax
add esp, 0x5c
pop ebx
pop esi
pop edi
pop ebp
jmp sym.libsqlite3_0.dll_sqlite3_free
mov eax, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov edx, 1
mov dword [esp], eax
mov eax, dword [esp + 0x3c]
mov dword [esp + 4], eax
mov eax, ebp
call fcn.6664fe80
add dword [ebp + 0x20], 1
jmp 0x6665657e
mov eax, dword [esp + 0x48]
mov edx, dword [esp + 0x2c]
mov dword [esp + 0x14], esi
mov dword [esp + 4], str.Node__lld_is_too_small_for_cell_count_of__d___d_bytes_
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov dword [esp], ebp
call fcn.665d3e50
jmp 0x666565fd
mov ecx, dword [esp + 0x38]
movzx eax, byte [ecx]
movzx edx, byte [ecx + 1]
shl eax, 8
add eax, edx
mov dword [esp + 0x34], eax
cmp eax, 0x28
jle 0x666563af
mov dword [esp + 8], eax
mov dword [esp + 4], str.Rtree_depth_out_of_range___d_
mov dword [esp], ebp
call fcn.665d3e50
jmp 0x666565fd
lock or dword [esp], 0
jmp 0x66656360
mov dword [ebp + 0x28], eax
jmp 0x6665639e