Function at 0x4cdac0
Capabilities:
Reference sql statements
Resolve function by parsing pe exports

Disassembly:
push ebp
mov eax, 7
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0xbc
mov ebx, dword [ebp + 8]
test ebx, ebx
je 0x4cf828
cmp dword [ebx + 0x3c], 0
jne case.default.0x4cdaf5
mov eax, dword [ebx + 0x44]
cmp eax, 5
mov dword [ebp - 0x7c], eax
ja case.default.0x4cdaf5
jmp dword [eax*4 + 0x50ba08]
mov edx, str.BEGIN
mov eax, ebx
call fcn.004bf896
mov edx, str.PRAGMA_writable_schema__on
mov eax, ebx
call fcn.004bf896
cmp dword [0x51a3b8], 0
mov dword [ebp - 0x48], 0
je 0x4cdb40
mov dword [esp + 8], 0x3fd1
mov dword [esp + 4], str.shell.c
mov dword [esp], str.recover_g.pMethods0
call fcn.004eaa60
lea eax, [ebp - 0x48]
mov dword [esp + 8], 7
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00416192
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4cdb8b
cmp dword [eax], 0x4f1aa0
jne 0x4cdb8b
mov dword [esp + 8], 0x3fd4
mov dword [esp + 4], str.shell.c
mov dword [esp], str.pFd0__pFd__pMethods_recover_methods
call fcn.004eaa60
mov ecx, dword [ebp - 0x48]
test ecx, ecx
je 0x4cdbc1
mov edx, dword [ecx]
test edx, edx
je 0x4cdbc1
cmp dword [edx], 1
mov eax, dword [ebp - 0x7c]
jle 0x4cdba9
xor eax, eax
cmp dword [edx + 0x34], 0
setne al
inc eax
mov dword [0x51a3b8], edx
mov dword [0x51a3bc], ebx
mov dword [0x4f1aa0], eax
mov dword [ecx], 0x4f1aa0
cmp dword [ebx + 0xc8], 0
mov esi, 0x4f1840
mov ecx, 0xc
lea edi, [ebp - 0x48]
mov dword [ebp - 0x4c], 0
rep movsd dword es:[edi], dword [esi]
je 0x4cdbfc
mov dword [esp + 8], 0x39bb
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p__dbOut0
call fcn.004eaa60
lea eax, [ebp - 0x4c]
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x46
mov dword [esp + 4], eax
mov eax, dword [ebx + 8]
mov dword [esp], eax
call fcn.004b2520
test eax, eax
je 0x4cdc2c
mov edx, dword [ebp - 0x4c]
mov eax, ebx
call fcn.004b9d0e
cmp dword [ebx + 0x3c], 0
je 0x4cdc87
mov eax, dword [ebp - 0x4c]
mov dword [ebx + 0xc8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0x2a
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00416192
mov edx, dword [ebx]
mov ecx, str.PRAGMA_writable_schema__on
mov eax, ebx
call fcn.004bcc75
mov edx, dword [ebx]
mov ecx, str.BEGIN
mov eax, ebx
call fcn.004bcc75
cmp dword [ebx + 0x3c], 0
jne 0x4cdce7
mov dword [ebx + 0x48], 1
jmp 0x4cdce7
mov eax, dword [ebp - 0x4c]
lea esi, [ebp - 0x48]
xor edi, edi
call fcn.004ba986
mov dword [ebx + 0x3c], eax
cmp dword [ebx + 0x3c], 0
jne 0x4cdc32
cmp edi, 4
je 0x4cdc32
mov dword [esp + 0x1c], 0
mov dword [esp + 0x18], 0
inc edi
mov eax, dword [esi + 8]
mov dword [esp + 0x10], ebx
add esi, 0xc
mov dword [esp + 0xc], 1
mov dword [esp + 0x14], eax
mov eax, dword [esi - 8]
mov dword [esp + 8], eax
mov eax, dword [esi - 0xc]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.0042d609
mov dword [ebx + 0x3c], eax
jmp 0x4cdc97
mov edx, dword [ebx]
mov ecx, str.SELECT_1_FROM_sqlite_schema
mov eax, ebx
mov esi, 0x4f1870
lea edi, [ebp - 0x48]
call fcn.004bcc75
cmp dword [ebx + 0x3c], 0
mov ecx, 5
rep movsd dword es:[edi], dword [esi]
jne 0x4cde79
lea eax, [ebp - 0x4c]
mov dword [esp], 0x506d14
mov dword [ebp - 0x4c], 0
mov dword [esp + 4], eax
call fcn.004b2505
test eax, eax
mov dword [ebp - 0x60], 0
je 0x4cdd65
mov edx, dword [ebp - 0x4c]
mov eax, ebx
call fcn.004b9d0e
jmp 0x4cde79
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
je 0x4cdd97
mov edx, esi
mov eax, ebx
call fcn.004bd5fc
inc dword [ebp - 0x60]
cmp dword [ebp - 0x60], 5
je 0x4cde08
mov eax, dword [ebp - 0x60]
mov edi, dword [ebp + eax*4 - 0x48]
mov dword [esp + 0x10], edi
mov eax, dword [ebx + 4]
mov dword [esp + 8], str.PRAGMA__Q._s
mov dword [esp + 0xc], eax
mov eax, dword [ebx]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b9da0
cmp dword [ebx + 0x3c], 0
mov esi, eax
jne 0x4cdd4f
jmp 0x4cdd42
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0041feb6
mov dword [esp + 8], edi
mov dword [esp + 0xc], eax
mov dword [esp + 4], str.PRAGMA__s___Q
mov dword [esp], ebx
mov dword [ebp - 0x64], eax
call fcn.004b84a3
mov edi, eax
mov edx, eax
mov eax, ebx
call fcn.004bf896
mov edx, dword [ebp - 0x4c]
mov ecx, edi
mov eax, ebx
call fcn.004bcc75
mov dword [esp], edi
call fcn.0040b268
cmp dword [ebp - 0x64], 0
jne 0x4cdd4f
mov dword [esp + 8], 0
mov dword [esp + 4], 7
mov dword [esp], ebx
call fcn.004b84e2
jmp 0x4cdd4f
mov edx, dword [ebp - 0x4c]
mov ecx, str.CREATE_TABLE_t1_a___DROP_TABLE_t1_
mov eax, ebx
call fcn.004bcc75
cmp dword [ebx + 0x3c], 0
jne 0x4cde6e
mov esi, dword [ebx + 0xc8]
mov eax, dword [ebp - 0x4c]
mov dword [esp + 0xc], str.main
mov dword [esp + 4], str.main
mov dword [esp + 8], eax
mov dword [esp], esi
call fcn.00456761
test eax, eax
mov edi, eax
je 0x4cde65
mov dword [esp + 4], 0xffffffff
mov dword [esp], eax
call fcn.00454879
mov dword [esp], edi
call fcn.00457ba9
mov dword [ebx + 0x3c], eax
jmp 0x4cde6e
mov edx, esi
mov eax, ebx
call fcn.004b9d0e
mov eax, dword [ebp - 0x4c]
mov dword [esp], eax
call fcn.00457d58
mov eax, dword [ebx + 0x14]
mov dword [esp + 4], str.ATTACH__Q_AS_recovery_
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004b84a3
mov edx, dword [ebx + 0xc8]
mov ecx, eax
mov esi, eax
mov eax, ebx
call fcn.004bcc75
mov edx, dword [ebx + 0xc8]
mov ecx, str.PRAGMA_writable_schema__1_CREATE_TABLE_recovery.map_pgno_INTEGER_PRIMARY_KEY__parent_INT__CREATE_TABLE_recovery.schema_type__name__tbl_name__rootpage__sql__
mov eax, ebx
call fcn.004bcc75
mov dword [esp], esi
call fcn.0040b268
mov edx, dword [ebx + 0xc8]
mov ecx, str.WITH_RECURSIVE_pages_p__AS____SELECT_1____UNION__SELECT_child_FROM_sqlite_dbptr_getpage_____pages_WHERE_pgnop_INSERT_INTO_recovery.schema_SELECT__max_CASE_WHEN_field0_THEN_value_ELSE_NULL_END____max_CASE_WHEN_field1_THEN_value_ELSE_NULL_END____max_CASE_WHEN_field2_THEN_value_ELSE_NULL_END____max_CASE_WHEN_field3_THEN_value_ELSE_NULL_END____max_CASE_WHEN_field4_THEN_value_ELSE_NULL_END_FROM_sqlite_dbdata_getpage____WHERE_pgno_IN____SELECT_p_FROM_pages__GROUP_BY_pgno__cell
mov eax, ebx
call fcn.004bcc75
lea eax, [ebp - 0x48]
mov dword [esp + 8], 7
mov dword [ebp - 0x48], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 4]
mov dword [esp + 4], eax
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00416192
mov eax, dword [ebp - 0x48]
test eax, eax
je 0x4cdf1c
cmp dword [eax], 0
je 0x4cdf1c
mov edx, dword [0x51a3b8]
mov dword [0x51a3bc], 0
mov dword [0x51a3b8], 0
mov dword [eax], edx
mov edx, dword [ebx + 0xc8]
mov ecx, str.BEGIN
mov eax, ebx
call fcn.004bcc75
mov edx, dword [ebx + 0xc8]
mov ecx, str.WITH_dbschema_rootpage__name__sql__tbl__isVirtual__isIndex__AS____SELECT_rootpage__name__sql______typetable______sql_LIKE_create_virtual_______typeindex_AND__sql_LIKE__unique__OR__1____FROM_recovery.schema_SELECT_rootpage__tbl__isVirtual__name__sql_FROM_dbschema___WHERE_tbl_OR_isIndex__ORDER_BY_tbl_DESC__namesqlite_sequence_DESC
mov eax, ebx
call fcn.004b9d4d
mov edx, dword [ebx + 0xc8]
mov dword [ebp - 0x68], eax
mov ecx, str.SELECT_name_FROM_sqlite_schema_WHERE_typetable_ORDER_BY_rowid_DESC_LIMIT_1
mov eax, ebx
call fcn.004b9d4d
cmp dword [ebp - 0x68], 0
mov dword [ebp - 0x88], eax
jne 0x4cdf84
mov edx, dword [ebp - 0x68]
mov eax, ebx
call fcn.004bd5fc
mov edx, dword [ebp - 0x88]
mov eax, ebx
call fcn.004bd5fc
mov dword [ebx + 0x44], 1
jmp case.default.0x4cdaf5
mov eax, dword [ebx + 0x24]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call fcn.0042df80
lea eax, [ebx + 0x3c]
mov dword [ebp - 0xa0], eax
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4cdf61
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00411cbb
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00411c8f
mov dword [ebp - 0x60], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.00411c8f
mov esi, eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.0041feb6
mov dword [ebp - 0x64], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 4
mov dword [esp], eax
call fcn.0041feb6
test esi, esi
mov edi, eax
mov dword [ebp - 0x98], 0
mov edx, dword [ebp - 0x64]
je 0x4ce05b
mov dword [esp + 0x10], eax
mov dword [esp + 0xc], edx
mov dword [esp + 8], edx
mov dword [esp + 4], str.INSERT_INTO_sqlite_schema_VALUES_table___Q___Q__0___Q_
mov dword [esp], ebx
call fcn.004b84a3
mov edi, eax
mov dword [ebp - 0x98], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], edi
mov eax, dword [ebx + 0xc8]
mov dword [esp], eax
call fcn.00477ee4
test eax, eax
jne 0x4ce435
mov edx, edi
mov eax, ebx
call fcn.004bf896
cmp dword [ebp - 0x60], 0
je 0x4ce445
test esi, esi
jne 0x4ce445
mov eax, dword [ebp - 0x88]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4ce426
mov eax, dword [ebp - 0x88]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0041feb6
mov dword [esp + 8], str.PRAGMA_table_xinfo__Q_
mov dword [ebp - 0x78], eax
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b9da0
test eax, eax
mov dword [ebp - 0x64], eax
je 0x4ce426
cmp dword [ebp - 0x78], 0
mov eax, dword [ebp - 0x7c]
mov dword [ebp - 0x6c], eax
je 0x4ce123
mov edi, dword [ebp - 0x78]
xor eax, eax
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
and ecx, 0x7fffffff
mov dword [ebp - 0x6c], ecx
xor esi, esi
xor edi, edi
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4ce151
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 1
inc edi
mov dword [esp], eax
call fcn.0041fc78
lea esi, [eax + esi + 1]
jmp 0x4ce127
imul eax, edi, 0x14
mov edx, dword [ebp - 0x64]
imul ecx, edi, 0x14
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x6c]
lea eax, [esi + eax + 0x1d]
lea esi, [eax + ecx]
mov eax, ebx
call fcn.004c26b6
mov eax, dword [ebp - 0xa0]
mov ecx, esi
mov edx, esi
sar ecx, 0x1f
call fcn.004c070c
test eax, eax
mov dword [ebp - 0x60], eax
je 0x4ce334
mov ecx, dword [ebp - 0x60]
add eax, 0x1c
mov esi, dword [ebp - 0x78]
mov dword [ebp - 0x94], 0
mov dword [ebp - 0x80], 0
mov dword [ecx + 0xc], eax
add eax, dword [ebp - 0x70]
mov dword [ecx + 8], edi
mov edi, ecx
mov dword [ebp - 0x70], 1
mov dword [ecx + 4], eax
mov ecx, dword [ebp - 0x90]
mov dword [edi], ecx
mov edi, eax
mov ecx, dword [ebp - 0x6c]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x6c]
mov dword [ebp - 0x6c], 0xffffffff
lea eax, [eax + edi + 1]
mov dword [ebp - 0x90], eax
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4ce319
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 5
mov dword [esp], eax
call fcn.00411c8f
mov dword [ebp - 0xa8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0041fc78
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0041feb6
mov esi, eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.0041feb6
mov dword [ebp - 0xa4], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 6
mov dword [esp], eax
call fcn.00411c8f
cmp dword [ebp - 0x6c], 0xffffffff
mov edi, eax
mov edx, dword [ebp - 0xa8]
jne 0x4ce29a
cmp edx, 1
jne 0x4ce29a
mov ecx, dword [ebp - 0xa4]
mov dword [esp], str.integer
mov dword [esp + 4], ecx
call fcn.004019f3
test eax, eax
mov eax, 0xffffffff
cmove eax, dword [ebp - 0x80]
jmp 0x4ce2a6
cmp edx, 2
mov eax, 0xfffffffe
cmovl eax, dword [ebp - 0x6c]
imul edx, dword [ebp - 0x80], 0x14
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x60]
add edx, dword [eax + 0xc]
mov eax, dword [ebp - 0x90]
cmp edi, 2
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], edi
jne 0x4ce2cc
mov dword [edx], 0xffffffff
jmp 0x4ce2db
mov eax, dword [ebp - 0x94]
mov dword [edx], eax
inc eax
mov dword [ebp - 0x94], eax
sub edi, 2
cmp edi, 1
jbe 0x4ce2ed
mov eax, dword [ebp - 0x70]
mov dword [edx + 4], eax
inc eax
mov dword [ebp - 0x70], eax
mov edi, dword [ebp - 0x90]
mov eax, dword [ebp - 0x90]
mov ecx, dword [ebp - 0x9c]
inc dword [ebp - 0x80]
rep movsb byte es:[edi], byte [esi]
mov edi, dword [ebp - 0x9c]
lea eax, [eax + edi + 1]
mov dword [ebp - 0x90], eax
jmp 0x4ce1dd
mov eax, dword [ebx + 0xd0]
mov edi, dword [ebp - 0x60]
mov dword [edi + 0x18], eax
mov dword [ebx + 0xd0], edi
mov dword [edi + 0x10], 1
jmp 0x4ce342
mov dword [ebp - 0x70], 1
mov dword [ebp - 0x6c], 0xffffffff
mov edx, dword [ebp - 0x64]
mov eax, ebx
call fcn.004bd5fc
mov eax, dword [ebp - 0x78]
mov dword [esp + 8], str.PRAGMA_index_xinfo__Q_
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b9da0
mov esi, eax
test esi, esi
jne 0x4ce387
mov edx, esi
mov eax, ebx
call fcn.004bd5fc
cmp dword [ebx + 0x3c], 0
je 0x4ce3fe
jmp 0x4ce426
mov dword [esp], esi
call fcn.0047778f
cmp eax, 0x64
jne 0x4ce373
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.00411c8f
mov dword [esp + 4], 1
mov dword [esp], esi
mov edi, eax
call fcn.00411c8f
mov ecx, dword [ebp - 0x60]
cmp eax, dword [ecx + 8]
jl 0x4ce3e0
mov dword [esp + 8], 0x3a3c
mov dword [esp + 4], str.shell.c
mov dword [esp], str.iCol_pNew__nCol
mov dword [ebp - 0x64], eax
call fcn.004eaa60
mov eax, dword [ebp - 0x64]
mov ecx, dword [ebp - 0x60]
mov dword [ebp - 0x6c], 0xfffffffe
imul eax, eax, 0x14
add eax, dword [ecx + 0xc]
mov dword [eax], edi
mov dword [ecx + 0x10], 0
jmp 0x4ce36f
cmp dword [ebp - 0x6c], 0
js 0x4ce417
imul eax, dword [ebp - 0x6c], 0x14
mov edi, dword [ebp - 0x60]
add eax, dword [edi + 0xc]
mov dword [eax + 8], 1
jmp 0x4ce426
mov eax, dword [ebp - 0x60]
cmp dword [eax + 0x10], 0
je 0x4ce426
mov edi, dword [ebp - 0x70]
mov dword [eax + 0x14], edi
mov edx, dword [ebp - 0x88]
mov eax, ebx
call fcn.004c26b6
jmp 0x4ce445
dec eax
je 0x4ce445
mov edx, dword [ebx + 0xc8]
mov eax, ebx
call fcn.004b9d0e
mov eax, dword [ebp - 0x98]
mov dword [esp], eax
call fcn.0040b268
jmp 0x4cdfa7
cmp dword [ebx + 0x50], 0
jne 0x4cf817
cmp dword [ebx + 0x64], 0
je 0x4ce484
mov dword [esp + 8], 0x3c65
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p1__nMax0
call fcn.004eaa60
mov eax, dword [ebx + 0xd0]
test eax, eax
je 0x4ce49e
mov edx, dword [eax + 8]
cmp edx, dword [ebx + 0x64]
jle 0x4ce499
mov dword [ebx + 0x64], edx
mov eax, dword [eax + 0x18]
jmp 0x4ce48a
mov eax, dword [ebx + 0x64]
lea edx, [eax*4 + 4]
lea eax, [ebx + 0x3c]
mov ecx, edx
sar ecx, 0x1f
call fcn.004c070c
test eax, eax
mov dword [ebx + 0x68], eax
je 0x4ce4e6
mov edx, dword [ebx + 0xc8]
mov ecx, str.SELECT_rootpage_FROM_recovery.schema___WHERE_typetable_AND__sql_NOT_LIKE_create_virtual____ORDER_BY__tbl_namesqlite_sequence__ASC
mov eax, ebx
call fcn.004b9d4d
mov edx, dword [ebx + 0xc8]
mov dword [ebx + 0x50], eax
mov ecx, str.WITH_RECURSIVE_pages_page__AS____SELECT__1____UNION__SELECT_child_FROM_sqlite_dbptr_getpage_____pages_____WHERE_pgnopage__SELECT_page__cell__field__value_FROM_sqlite_dbdata_getpage____d__pages_p_WHERE_p.paged.pgno_UNION_ALL_SELECT_0__0__0__0
mov eax, ebx
call fcn.004b9d4d
mov dword [ebx + 0x54], eax
mov eax, dword [ebx + 0x54]
cmp dword [ebx + 0x3c], 0
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x68]
mov dword [ebp - 0x78], eax
jne 0x4ce5f8
cmp dword [ebx + 0x60], 0
jne 0x4ce5f8
mov eax, dword [ebx + 0x50]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
je 0x4ce533
mov eax, ebx
call fcn.004bd63d
cmp dword [ebx + 0x18], 0
je 0x4ce723
mov dword [ebx + 0x44], 2
jmp case.default.0x4cdaf5
mov dword [esp + 4], 0
mov eax, dword [ebx + 0x50]
mov dword [esp], eax
call fcn.00411cbb
mov edi, eax
mov eax, dword [ebx + 0xd0]
mov esi, edx
test eax, eax
je 0x4ce55d
cmp edi, dword [eax]
je 0x4ce55d
mov eax, dword [eax + 0x18]
jmp 0x4ce550
mov edx, dword [ebx + 0x58]
mov dword [ebx + 0x60], eax
mov eax, ebx
call fcn.004bd5fc
mov eax, dword [ebx + 0x60]
mov dword [ebx + 0x58], 0
test eax, eax
je 0x4ce6ee
mov eax, dword [eax + 4]
mov dword [esp], str.sqlite_sequence
mov dword [esp + 4], eax
call fcn.004019f3
test eax, eax
jne 0x4ce5b1
mov edx, dword [ebx + 0xc8]
mov ecx, str.DELETE_FROM_sqlite_sequence
mov eax, ebx
call fcn.004bcc75
mov edx, str.DELETE_FROM_sqlite_sequence
mov eax, ebx
call fcn.004bf896
mov eax, dword [ebp - 0x64]
mov dword [esp + 8], edi
mov dword [esp + 0xc], esi
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.0042df3c
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x70], 0
mov dword [ebx + 0x80], 0xffffffff
mov dword [ebx + 0x84], 0xffffffff
mov dword [ebx + 0x88], 0xffffffff
cmp dword [ebx + 0x3c], 0
jne 0x4ce620
cmp dword [ebx + 0x60], 0
jne 0x4ce620
mov dword [esp + 8], 0x3cc6
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p__errCode_SQLITE_OK__p1__pTab
call fcn.004eaa60
cmp dword [ebx + 0x3c], 0
jne 0x4ce6dd
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4ce6dd
mov eax, dword [ebp - 0x64]
mov edi, dword [ebx + 0x60]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00411cbb
mov dword [ebp - 0x80], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 1
mov dword [ebp - 0x94], edx
mov dword [esp], eax
call fcn.00411c8f
mov dword [ebp - 0x98], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.00411c8f
mov dword [ebp - 0x6c], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.00411ce4
mov dword [ebp - 0x9c], eax
mov eax, dword [ebp - 0x94]
cmp eax, dword [ebx + 0x84]
jne 0x4cf308
mov eax, dword [ebp - 0x80]
cmp eax, dword [ebx + 0x80]
jne 0x4cf308
mov eax, dword [ebp - 0x98]
cmp eax, dword [ebx + 0x88]
jne 0x4cf308
jmp 0x4cf703
mov edx, dword [ebp - 0x64]
mov eax, ebx
call fcn.004c26b6
mov dword [ebx + 0x60], 0
mov eax, dword [ebx + 0x3c]
cmp eax, 0x65
jne case.default.0x4cdaf5
jmp 0x4ce516
cmp dword [ebx + 0xb4], 0
je 0x4cead2
cmp dword [ebx + 0x3c], 0
jne case.default.0x4cdaf5
cmp dword [ebx + 0xb4], 0
jne 0x4cedb7
mov dword [ebx + 0x44], 5
jmp case.default.0x4cdaf5
cmp dword [ebx + 0x90], 0
jne 0x4ce7cd
mov eax, ebx
call fcn.004c2648
mov dword [ebx + 0x98], eax
mov esi, eax
add eax, 0x20
mov dword [ebx + 0x9c], edx
mov edi, edx
adc edx, 0
mov dword [ebp - 0x5c], edx
mov ecx, dword [ebp - 0x5c]
xor edx, edx
mov dword [ebp - 0x60], eax
sar ecx, 0x1f
and ecx, 0x1f
mov eax, ecx
add eax, dword [ebp - 0x60]
adc edx, dword [ebp - 0x5c]
shrd eax, edx, 5
lea edx, [eax + 4]
lea eax, [ebx + 0x3c]
shl edx, 2
mov ecx, edx
sar ecx, 0x1f
call fcn.004c070c
test eax, eax
je 0x4ce792
mov dword [eax], esi
mov dword [eax + 4], edi
mov edx, dword [ebx + 0xc8]
mov dword [ebx + 0x90], eax
mov ecx, str.WITH_trunk_pgno__AS____SELECT_read_i32_getpage_1___8__AS_x_WHERE_x_0____UNION__SELECT_read_i32_getpage_trunk.pgno___0__AS_x_FROM_trunk_WHERE_x_0__trunkdata_pgno__data__AS____SELECT_pgno__getpage_pgno__FROM_trunk__freelist_data__n__freepgno__AS____SELECT_data__min_16384__read_i32_data__1__1___pgno_FROM_trunkdata____UNION_ALL__SELECT_data__n_1__read_i32_data__2n__FROM_freelist_WHERE_n_0__roots_r__AS____SELECT_1_UNION_ALL__SELECT_rootpage_FROM_recovery.schema_WHERE_rootpage_0__used_page__AS____SELECT_r_FROM_roots____UNION__SELECT_child_FROM_sqlite_dbptr_getpage_____used_____WHERE_pgnopage__SELECT_page_FROM_used_UNION_ALL_SELECT_freepgno_FROM_freelist_WHERE_NOT__
mov eax, ebx
call fcn.004b9d4d
test eax, eax
mov esi, eax
je 0x4ce7c7
mov eax, dword [ebx + 0x1c]
mov dword [esp + 4], 1
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.0042df80
mov dword [ebx + 0xac], esi
mov esi, dword [ebx + 0x3c]
test esi, esi
jne 0x4ce88a
mov eax, dword [ebx + 0xac]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
mov esi, eax
mov edx, dword [ebx + 0xac]
jne 0x4ce879
mov dword [esp + 4], 0
mov dword [esp], edx
call fcn.00411cbb
mov edi, dword [ebx + 0x90]
cmp edx, dword [edi + 4]
mov dword [ebp - 0x60], edi
jg case.default.0x4cdaf5
jl 0x4ce823
cmp eax, dword [edi]
ja case.default.0x4cdaf5
mov ecx, edx
xor edi, edi
sar ecx, 0x1f
and ecx, 0x1f
mov esi, ecx
add esi, eax
adc edi, edx
shrd esi, edi, 5
lea ecx, [esi*4]
add ecx, dword [ebp - 0x60]
mov dword [ebp - 0x60], ecx
mov ecx, eax
mov eax, edx
and eax, 0x80000000
and ecx, 0x1f
test eax, eax
mov esi, ecx
jns 0x4ce865
add esi, 0xffffffff
mov edi, esi
or edi, 0xffffffe0
mov eax, edi
add eax, 1
mov esi, eax
mov edi, dword [ebp - 0x60]
mov ecx, esi
mov eax, 1
shl eax, cl
or dword [edi + 8], eax
jmp case.default.0x4cdaf5
mov eax, ebx
call fcn.004bd5fc
mov dword [ebx + 0xac], 0
cmp esi, 0x65
jne case.default.0x4cdaf5
mov dword [ebx + 0x44], 3
jmp case.default.0x4cdaf5
cmp dword [ebx + 0xa0], 0
jne 0x4ce987
cmp dword [ebx + 0xa4], 0
je 0x4ce8d1
mov dword [esp + 8], 0x3d6a
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p__laf.pMapInsert0
call fcn.004eaa60
cmp dword [ebx + 0xa8], 0
je 0x4ce8f6
mov dword [esp + 8], 0x3d6b
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p__laf.pMaxField0
call fcn.004eaa60
cmp dword [ebx + 0xc4], 0
je 0x4ce91b
mov dword [esp + 8], 0x3d6c
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p__laf.nMaxField0
call fcn.004eaa60
mov edx, dword [ebx + 0xc8]
mov ecx, str.INSERT_OR_IGNORE_INTO_recovery.map_pgno__parent__VALUES______
mov eax, ebx
call fcn.004b9d4d
mov edx, dword [ebx + 0x9c]
mov dword [ebx + 0xa4], eax
mov eax, dword [ebx + 0x98]
mov dword [esp + 8], str.WITH_RECURSIVE_seq_ii__AS____SELECT_1_UNION_ALL_SELECT_ii1_FROM_seq_WHERE_ii__lld_SELECT_pgno__child_FROM_sqlite_dbptr_getpage_____UNION_ALL_SELECT_NULL__ii_FROM_seq
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b9da0
mov dword [ebx + 0xa0], eax
mov dword [esp + 8], str.SELECT_max_field_1_FROM_sqlite_dbdata_getpage__WHERE_pgno___
mov eax, dword [ebx + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b9da0
mov dword [ebx + 0xa8], eax
cmp dword [ebx + 0x3c], 0
jne 0x4ceabc
mov eax, dword [ebx + 0xa0]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
mov edx, dword [ebx + 0xa0]
jne 0x4ceaa9
mov dword [esp], edx
mov dword [esp + 4], 1
call fcn.00411c8f
mov esi, eax
mov edi, eax
mov eax, dword [ebx + 0x90]
sar edi, 0x1f
mov edx, esi
mov ecx, edi
call fcn.004bf41a
test eax, eax
jne 0x4ceabc
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 1
mov eax, dword [ebx + 0xa4]
mov dword [esp], eax
call fcn.0042df3c
mov dword [esp + 4], 0
mov eax, dword [ebx + 0xa0]
mov dword [esp], eax
call fcn.00411ce4
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xa4]
mov dword [esp], eax
call fcn.0042e2b3
mov eax, dword [ebx + 0xa4]
mov dword [esp], eax
call fcn.0047778f
mov edx, dword [ebx + 0xa4]
mov eax, ebx
call fcn.004c26b6
mov dword [esp + 8], esi
mov dword [esp + 0xc], edi
mov dword [esp + 4], 1
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0042df3c
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4cea9a
mov dword [esp + 4], 0
mov eax, dword [ebx + 0xa8]
mov dword [esp], eax
call fcn.00411c8f
cmp eax, dword [ebx + 0xc4]
jle 0x4cea9a
mov dword [ebx + 0xc4], eax
mov edx, dword [ebx + 0xa8]
mov eax, ebx
call fcn.004c26b6
jmp 0x4ceabc
mov eax, ebx
call fcn.004bd5fc
mov dword [ebx + 0xa0], 0
jmp 0x4ceac6
cmp dword [ebx + 0x3c], 0x65
jne case.default.0x4cdaf5
mov dword [ebx + 0x44], 4
jmp case.default.0x4cdaf5
mov eax, dword [ebx + 0xc4]
test eax, eax
mov dword [ebp - 0x64], eax
jle 0x4ce70c
mov edx, dword [ebx + 0xc8]
mov ecx, str.SELECT_1_FROM_sqlite_schema_WHERE_name_
mov eax, ebx
call fcn.004b9d4d
mov dword [ebp - 0x60], 0xffffffff
mov esi, eax
cmp dword [ebx + 0x3c], 0
jne 0x4cebb4
cmp dword [ebp - 0x60], 0x3e8
je 0x4cebb4
cmp dword [ebp - 0x60], 0xffffffff
mov eax, dword [ebx + 0x18]
jne 0x4ceb34
mov dword [esp + 8], eax
mov dword [esp + 4], 0x506d0a
mov dword [esp], ebx
call fcn.004b84a3
jmp 0x4ceb4f
mov edi, dword [ebp - 0x60]
mov dword [esp + 8], eax
mov dword [esp + 4], str._s__d
mov dword [esp], ebx
mov dword [esp + 0xc], edi
call fcn.004b84a3
cmp dword [ebx + 0x3c], 0
mov edi, eax
jne 0x4ceba7
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0xffffffff
mov dword [esp + 8], eax
mov dword [esp + 4], 1
mov dword [esp], esi
call fcn.0042e1f2
mov dword [esp], esi
call fcn.0047778f
mov edx, esi
mov dword [ebp - 0x68], eax
mov eax, ebx
call fcn.004c26b6
cmp dword [ebp - 0x68], 0x64
jne 0x4ceba7
mov dword [esp], esi
call fcn.0040b6ce
mov dword [esp], edi
xor edi, edi
call fcn.0040b268
inc dword [ebp - 0x60]
test edi, edi
je 0x4ceafe
jmp 0x4cebb6
xor edi, edi
mov edx, esi
mov eax, ebx
call fcn.004bd5fc
test edi, edi
je 0x4cec4b
xor edx, edx
mov eax, str.rootpgno_INTEGER__pgno_INTEGER__nfield_INTEGER__id_INTEGER_
xor esi, esi
cmp dword [ebx + 0x3c], 0
jne 0x4cec01
cmp dword [ebp - 0x64], esi
jle 0x4cec01
mov dword [esp + 0x10], esi
mov dword [esp + 8], edx
inc esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._z_sc_d
mov dword [esp], ebx
call fcn.004b84a3
mov edx, eax
mov eax, 0x507f06
jmp 0x4cebd0
mov dword [esp + 0xc], edx
mov dword [esp + 8], edi
mov dword [esp + 4], str.CREATE_TABLE__s__s_
mov dword [esp], ebx
mov dword [ebp - 0x60], edx
call fcn.004b84a3
mov edx, dword [ebp - 0x60]
mov esi, eax
mov dword [esp], edx
call fcn.0040b268
mov edx, dword [ebx + 0xc8]
mov ecx, esi
mov eax, ebx
call fcn.004bcc75
mov edx, esi
mov eax, ebx
call fcn.004bf896
mov dword [esp], esi
call fcn.0040b268
jmp 0x4cec70
cmp dword [ebx + 0x3c], 0
jne 0x4cec70
mov eax, dword [ebx + 0x18]
mov dword [esp + 8], str.failed_to_create__s_output_table
mov dword [esp + 4], 1
mov dword [esp], ebx
mov dword [esp + 0xc], eax
call fcn.004b84e2
mov eax, dword [ebx + 0xc4]
add eax, 4
cmp dword [ebx + 0x10], 0
mov dword [ebp - 0x60], eax
je 0x4cec8d
mov eax, 0x506d14
xor esi, esi
xor edx, edx
jmp 0x4cecde
xor esi, esi
xor edx, edx
cmp dword [ebp - 0x60], edx
jle 0x4ceccc
test esi, esi
mov ecx, 0x506d14
mov eax, 0x507f06
cmove eax, ecx
mov dword [esp + 0x10], edx
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._z_s_
mov dword [esp], ebx
mov dword [ebp - 0x64], edx
call fcn.004b84a3
mov edx, dword [ebp - 0x64]
mov esi, eax
inc edx
jmp 0x4cec91
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.INSERT_INTO__s_VALUES__s_
jmp 0x4ced1b
cmp dword [ebp - 0x60], edx
jle 0x4ced0b
mov dword [esp + 8], esi
mov dword [esp + 0xc], eax
mov dword [esp + 4], str._z_squote___
mov dword [esp], ebx
mov dword [ebp - 0x64], edx
call fcn.004b84a3
mov edx, dword [ebp - 0x64]
mov esi, eax
mov eax, str.____
inc edx
jmp 0x4cecde
mov dword [esp + 0x10], esi
mov dword [esp + 0xc], edi
mov dword [esp + 8], str.SELECT_INSERT_INTO__s_VALUES____s___
mov eax, dword [ebx + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b9da0
mov dword [esp], esi
mov dword [ebp - 0x60], eax
call fcn.0040b268
mov eax, dword [ebp - 0x60]
mov dword [ebx + 0xb4], eax
mov dword [esp], edi
call fcn.0040b268
mov eax, dword [ebx + 0x98]
mov edx, dword [ebx + 0x9c]
mov dword [esp + 8], str.WITH_RECURSIVE_seq_ii__AS____SELECT_1_UNION_ALL_SELECT_ii1_FROM_seq_WHERE_ii__lld_SELECT_ii_FROM_seq
mov dword [esp + 0x10], edx
mov dword [esp + 0xc], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp], ebx
mov dword [esp + 4], eax
call fcn.004b9da0
mov edx, dword [ebx + 0xc8]
mov dword [ebx + 0xb8], eax
mov ecx, str.SELECT_cell__field__value_FROM_sqlite_dbdata_getpage____d_WHERE_d.pgno__UNION_ALL_SELECT__1___1___1
mov eax, ebx
call fcn.004b9d4d
mov dword [ebx + 0xbc], eax
mov eax, dword [ebx + 0xc4]
xor ecx, ecx
lea edx, [eax*4]
lea eax, [ebx + 0x3c]
call fcn.004c070c
mov dword [ebx + 0xc0], eax
jmp 0x4ce70c
mov eax, dword [ebx + 0xb8]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
mov edx, dword [ebx + 0xb8]
jne 0x4cf1cd
mov dword [esp + 4], 0
mov dword [esp], edx
call fcn.00411cbb
mov dword [ebp - 0x78], eax
mov dword [ebp - 0x74], edx
mov eax, dword [ebx + 0x90]
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
call fcn.004bf41a
test eax, eax
jne case.default.0x4cdaf5
mov eax, dword [ebx + 0xbc]
cmp dword [ebx + 0xb0], 0
mov edi, dword [ebx + 0xc0]
mov dword [ebp - 0x68], eax
mov eax, dword [ebx + 0xb4]
mov dword [ebp - 0x64], eax
jne 0x4cee3c
mov edx, dword [ebx + 0xc8]
mov ecx, str.WITH_RECURSIVE_p_pgno__AS____SELECT______UNION__SELECT_parent_FROM_recovery.map_AS_m__p_WHERE_m.pgnop.pgno__SELECT_p.pgno_FROM_p__recovery.map_m_WHERE_m.pgnop.pgno_____AND_m.parent_IS_NULL
mov eax, ebx
call fcn.004b9d4d
mov dword [ebx + 0xb0], eax
cmp dword [ebx + 0x3c], 0
mov dword [ebp - 0x88], 0
mov dword [ebp - 0x84], 0
jne 0x4ceece
mov edx, dword [ebp - 0x74]
mov eax, dword [ebp - 0x78]
mov dword [esp + 4], 1
mov dword [esp + 0xc], edx
mov dword [esp + 8], eax
mov eax, dword [ebx + 0xb0]
mov dword [esp], eax
call fcn.0042df3c
mov eax, dword [ebx + 0xb0]
mov dword [esp], eax
call fcn.0047778f
mov edx, dword [ebp - 0x78]
mov ecx, dword [ebp - 0x74]
cmp eax, 0x64
mov dword [ebp - 0x88], edx
mov dword [ebp - 0x84], ecx
jne 0x4ceec1
mov dword [esp + 4], 0
mov eax, dword [ebx + 0xb0]
mov dword [esp], eax
call fcn.00411cbb
mov dword [ebp - 0x88], eax
mov dword [ebp - 0x84], edx
mov edx, dword [ebx + 0xb0]
mov eax, ebx
call fcn.004c26b6
cmp dword [ebx + 0x3c], 0
jne case.default.0x4cdaf5
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
xor esi, esi
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call fcn.0042df3c
mov dword [ebp - 0x90], 0
mov dword [ebp - 0x8c], 0
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x60], 0xffffffff
cmp dword [ebx + 0x3c], 0
jne 0x4cf1a3
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4cf1a3
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.00411cbb
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 1
mov dword [esp], eax
call fcn.00411cbb
cmp dword [ebp - 0x70], esi
mov dword [ebp - 0x6c], eax
je 0x4cf0b7
mov eax, dword [ebp - 0x60]
sub eax, 0
js 0x4cf0b7
mov eax, dword [ebp - 0x88]
mov edx, dword [ebp - 0x84]
mov dword [esp + 4], 1
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call fcn.0042df3c
mov eax, dword [ebp - 0x78]
mov edx, dword [ebp - 0x74]
mov dword [esp + 4], 2
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call fcn.0042df3c
mov eax, dword [ebp - 0x60]
mov dword [esp + 4], 3
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0042df80
cmp dword [ebp - 0x7c], 0
je 0x4cf00b
mov eax, dword [ebp - 0x90]
mov edx, dword [ebp - 0x8c]
mov dword [esp + 4], 4
mov dword [esp + 8], eax
mov eax, dword [ebp - 0x64]
mov dword [esp + 0xc], edx
mov dword [esp], eax
call fcn.0042df3c
xor esi, esi
cmp dword [ebp - 0x60], esi
jle 0x4cf04c
cmp dword [ebx + 0x3c], 0
jne 0x4cf049
mov eax, dword [edi + esi*4]
mov dword [esp + 8], eax
lea eax, [esi + 5]
mov dword [esp + 4], eax
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0042e2b3
test eax, eax
je 0x4cf049
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004b84e2
inc esi
jmp 0x4cf00d
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0047778f
cmp eax, 0x64
jne 0x4cf078
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 0
mov dword [esp], eax
call fcn.0041feb6
mov edx, eax
mov eax, ebx
call fcn.004bf896
mov edx, dword [ebp - 0x64]
mov eax, ebx
xor esi, esi
call fcn.004c26b6
cmp dword [ebp - 0x60], esi
jle 0x4cf09e
mov eax, dword [edi + esi*4]
mov dword [esp], eax
call fcn.0040b7ab
mov dword [edi + esi*4], 0
inc esi
jmp 0x4cf084
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
call fcn.0040b6ce
mov dword [ebp - 0x7c], 0
mov dword [ebp - 0x60], 0xffffffff
cmp dword [ebp - 0x70], 0
js 0x4cf1a3
cmp dword [ebp - 0x6c], 0
jns 0x4cf11b
cmp dword [ebp - 0x60], 0xffffffff
je 0x4cf0e9
mov dword [esp + 8], 0x3c01
mov dword [esp + 4], str.shell.c
mov dword [esp], str.nVal_1
call fcn.004eaa60
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.00411cbb
mov dword [ebp - 0x7c], 1
mov dword [ebp - 0x90], eax
mov dword [ebp - 0x8c], edx
mov dword [ebp - 0x60], 0
jmp 0x4cf19b
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebx + 0xc4]
jge 0x4cf19b
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], 2
mov dword [esp], eax
call fcn.00411ce4
mov ecx, dword [ebp - 0x6c]
mov dword [esp], eax
lea esi, [edi + ecx*4]
call fcn.00436148
mov dword [esi], eax
mov eax, dword [ebp - 0x6c]
cmp eax, dword [ebp - 0x60]
je 0x4cf177
cmp dword [ebp - 0x60], 0xffffffff
jne 0x4cf15b
test eax, eax
je 0x4cf177
mov dword [esp + 8], 0x3c08
mov dword [esp + 4], str.shell.c
mov dword [esp], str.iFieldnVal___nVal_1__iField0_
call fcn.004eaa60
mov eax, dword [ebp - 0x6c]
inc eax
cmp dword [esi], 0
mov dword [ebp - 0x60], eax
jne 0x4cf19b
mov dword [esp + 8], 0
mov dword [esp + 4], 7
mov dword [esp], ebx
call fcn.004b84e2
mov esi, dword [ebp - 0x70]
jmp 0x4cef1d
mov edx, dword [ebp - 0x68]
mov eax, ebx
xor esi, esi
call fcn.004c26b6
cmp esi, dword [ebp - 0x60]
jge case.default.0x4cdaf5
mov eax, dword [edi + esi*4]
mov dword [esp], eax
call fcn.0040b7ab
mov dword [edi + esi*4], 0
inc esi
jmp 0x4cf1af
mov eax, ebx
call fcn.004c26b6
jmp 0x4ce723
cmp dword [ebx + 0x24], 0
mov edx, dword [ebx + 0xc8]
mov eax, str.SELECT_rootpage__sql_FROM_recovery.schema___WHERE_type_table_AND_type_index
mov ecx, str.SELECT_rootpage__sql_FROM_recovery.schema___WHERE_type_table_AND__type_index_OR_sql_NOT_LIKE__unique__
cmovne ecx, eax
mov eax, ebx
call fcn.004b9d4d
test eax, eax
mov edi, eax
jne 0x4cf2a1
mov edx, edi
mov eax, ebx
call fcn.004bd5fc
mov edx, dword [ebx + 0xc8]
mov ecx, str.COMMIT
mov dword [ebx + 0x44], 6
mov eax, ebx
call fcn.004bcc75
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov dword [esp + 8], 0
mov dword [esp + 4], 0x50b97f
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.00477ee4
cmp dword [ebx + 0x3c], 0
jne 0x4cf2c5
mov dword [ebx + 0x3c], eax
jmp 0x4cf2c5
mov dword [esp + 4], 1
mov dword [esp], edi
call fcn.0041feb6
mov dword [esp + 0x10], 0
mov dword [esp + 0xc], 0
mov esi, eax
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov eax, dword [ebx + 0xc8]
mov dword [esp], eax
call fcn.00477ee4
test eax, eax
jne 0x4cf2b3
mov edx, esi
mov eax, ebx
call fcn.004bf896
mov dword [esp], edi
call fcn.0047778f
cmp eax, 0x64
je 0x4cf258
jmp 0x4cf201
dec eax
je 0x4cf2a1
mov edx, dword [ebx + 0xc8]
mov eax, ebx
call fcn.004b9d0e
jmp 0x4cf2a1
mov edx, str.PRAGMA_writable_schema__off
mov eax, ebx
call fcn.004bf896
mov eax, ebx
mov edx, str.COMMIT
call fcn.004bf896
mov dword [ebx + 0x44], 6
mov eax, ebx
call fcn.004bd69c
cmp dword [ebx + 0x44], 6
jne 0x4cf300
cmp dword [ebx + 0x3c], 0
mov eax, 0x65
je 0x4cf828
mov eax, dword [ebx + 0x3c]
jmp 0x4cf828
mov eax, dword [ebp - 0x6c]
inc eax
cmp eax, 1
jbe 0x4cf32d
mov dword [esp + 8], 0x3cd1
mov dword [esp + 4], str.shell.c
mov dword [esp], str.bNewCell0___iField_1__iField0_
call fcn.004eaa60
mov eax, dword [ebx + 0x6c]
test eax, eax
js 0x4cf6dd
mov edx, dword [ebx + 0x58]
test edx, edx
je 0x4cf348
cmp eax, dword [ebx + 0x5c]
je 0x4cf5b2
mov eax, ebx
call fcn.004bd5fc
mov eax, dword [ebx + 0x6c]
mov dword [ebp - 0x7c], eax
mov eax, dword [ebx + 0x10]
mov dword [ebp - 0x88], eax
xor eax, eax
cmp dword [ebp - 0x7c], 0
jle 0x4cf5a9
mov eax, dword [ebp - 0x7c]
cmp eax, dword [edi + 8]
jle 0x4cf38e
mov dword [esp + 8], 0x3afb
mov dword [esp + 4], str.shell.c
mov dword [esp], str.nField_pTab__nCol
call fcn.004eaa60
mov eax, dword [edi + 4]
mov dword [esp + 4], str.INSERT_OR_IGNORE_INTO__Q_
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004b84a3
cmp dword [edi + 0x14], 0
mov dword [ebp - 0x68], eax
je 0x4cf42d
cmp dword [edi + 0x10], 0
jne 0x4cf3d0
mov dword [esp + 8], 0x3b00
mov dword [esp + 4], str.shell.c
mov dword [esp], str.pTab__bIntkey
call fcn.004eaa60
mov eax, dword [ebp - 0x68]
mov dword [esp + 4], str._z_rowid_
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004b84a3
cmp dword [ebp - 0x88], 0
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0x14]
mov dword [esp + 8], 0
mov dword [esp + 0xc], eax
je 0x4cf40c
mov dword [esp + 4], str._zquote___d_
jmp 0x4cf414
mov dword [esp + 4], str._z__d
mov dword [esp], ebx
mov esi, 0x507f06
call fcn.004b84a3
mov dword [ebp - 0x70], 0x50a724
mov dword [ebp - 0x60], eax
jmp 0x4cf440
mov dword [ebp - 0x60], 0
mov dword [ebp - 0x70], 0x506d14
mov esi, 0x506d14
mov dword [ebp - 0x90], 0
imul ecx, dword [ebp - 0x90], 0x14
mov eax, dword [edi + 0xc]
add eax, ecx
mov edx, dword [eax + 0x10]
sub edx, 2
cmp edx, 1
jbe 0x4cf52e
cmp dword [eax], 0
js 0x4cf470
cmp dword [eax + 4], 0
jg 0x4cf498
mov dword [esp + 8], 0x3b10
mov dword [esp + 4], str.shell.c
mov dword [esp], str.pTab__aCol_ii_.iField_0__pTab__aCol_ii_.iBind_1
mov dword [ebp - 0xa0], ecx
call fcn.004eaa60
mov ecx, dword [ebp - 0xa0]
mov eax, dword [edi + 0xc]
mov dword [ebp - 0xa0], ecx
mov eax, dword [eax + ecx + 0xc]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str._z_s_Q
mov dword [esp], ebx
mov dword [esp + 0x10], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 8], eax
call fcn.004b84a3
mov ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x68], eax
mov eax, dword [edi + 0xc]
cmp dword [ebp - 0x88], 0
mov eax, dword [eax + ecx + 4]
mov dword [esp + 0x10], eax
je 0x4cf50b
mov eax, dword [ebp - 0x70]
mov dword [esp + 4], str._z_sescape_crnl_quote___d__
mov dword [esp], ebx
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x60]
mov dword [esp + 8], eax
call fcn.004b84a3
mov dword [ebp - 0x70], 0x50a724
mov dword [ebp - 0x60], eax
jmp 0x4cf529
mov eax, dword [ebp - 0x60]
mov dword [esp + 0xc], esi
mov dword [esp + 4], str._z_s__d
mov dword [esp], ebx
mov dword [esp + 8], eax
call fcn.004b84a3
mov dword [ebp - 0x60], eax
mov esi, 0x507f06
inc dword [ebp - 0x90]
mov ecx, dword [ebp - 0x90]
cmp dword [ebp - 0x7c], ecx
jne 0x4cf44a
mov eax, dword [ebp - 0x60]
cmp dword [ebp - 0x88], 0
mov dword [esp + 0xc], eax
mov eax, dword [ebp - 0x68]
mov dword [esp + 8], eax
je 0x4cf564
mov dword [esp + 4], str.SELECT__Q____VALUES_____s___
jmp 0x4cf56c
mov dword [esp + 4], str._s__VALUES___s_
mov dword [esp], ebx
call fcn.004b84a3
mov edx, dword [ebx + 0xc8]
mov ecx, eax
mov esi, eax
mov eax, ebx
call fcn.004b9d4d
mov dword [ebp - 0x70], eax
mov eax, dword [ebp - 0x68]
mov dword [esp], eax
call fcn.0040b268
mov eax, dword [ebp - 0x60]
mov dword [esp], eax
call fcn.0040b268
mov dword [esp], esi
call fcn.0040b268
mov eax, dword [ebp - 0x70]
mov dword [ebx + 0x58], eax
mov eax, dword [ebx + 0x6c]
mov dword [ebx + 0x5c], eax
cmp dword [ebx + 0x6c], 0
jg 0x4cf5cb
mov dword [ebx + 0x6c], 0xffffffff
mov dword [ebx + 0x70], 0
jmp 0x4cf72c
mov esi, dword [ebx + 0x58]
mov dword [ebp - 0x60], 0
mov eax, dword [ebp - 0x60]
cmp eax, dword [edi + 8]
jge 0x4cf64d
imul eax, dword [ebp - 0x60], 0x14
add eax, dword [edi + 0xc]
mov ecx, dword [eax + 4]
test ecx, ecx
jle 0x4cf648
cmp dword [eax + 8], 0
je 0x4cf60d
mov eax, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0042df3c
jmp 0x4cf648
mov eax, dword [eax]
cmp eax, dword [ebx + 0x6c]
jge 0x4cf648
cmp dword [ebx + 0x3c], 0
jne 0x4cf648
mov edx, dword [ebp - 0x78]
mov eax, dword [edx + eax*4]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
call fcn.0042e2b3
test eax, eax
je 0x4cf648
mov dword [esp + 8], 0
mov dword [esp + 4], eax
mov dword [esp], ebx
call fcn.004b84e2
inc dword [ebp - 0x60]
jmp 0x4cf5d5
cmp dword [ebx + 0x20], 0
je 0x4cf67a
mov ecx, dword [edi + 0x14]
test ecx, ecx
jle 0x4cf67a
cmp dword [ebx + 0x70], 0
je 0x4cf67a
mov eax, dword [ebx + 0x78]
mov edx, dword [ebx + 0x7c]
mov dword [esp + 4], ecx
mov dword [esp], esi
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
call fcn.0042df3c
mov dword [esp], esi
call fcn.0047778f
cmp eax, 0x64
jne 0x4cf6a0
mov dword [esp + 4], 0
mov dword [esp], esi
call fcn.0041feb6
mov edx, eax
mov eax, ebx
call fcn.004bf896
mov edx, esi
mov eax, ebx
call fcn.004c26b6
cmp dword [ebx + 0x3c], 0
jne 0x4cf6d1
test esi, esi
jne 0x4cf6d5
mov dword [esp + 8], 0x3cf1
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p__errCode__pInsert
call fcn.004eaa60
jmp 0x4cf6dd
test esi, esi
je 0x4cf6dd
mov dword [esp], esi
call fcn.0040b6ce
xor esi, esi
cmp esi, dword [ebx + 0x6c]
jge 0x4cf5b8
mov eax, dword [ebp - 0x78]
mov eax, dword [eax + esi*4]
mov dword [esp], eax
call fcn.0040b7ab
mov eax, dword [ebp - 0x78]
mov dword [eax + esi*4], 0
inc esi
jmp 0x4cf6df
mov eax, dword [ebx + 0x6c]
cmp dword [ebp - 0x6c], eax
je 0x4cf72c
cmp eax, dword [edi + 8]
je 0x4cf72c
mov dword [esp + 8], 0x3cd2
mov dword [esp + 4], str.shell.c
mov dword [esp], str.bNewCell__iFieldp1__nVal__p1__nValpTab__nCol
call fcn.004eaa60
mov eax, dword [ebp - 0x94]
or eax, dword [ebp - 0x80]
je 0x4ce6ee
cmp dword [ebp - 0x6c], 0
jns 0x4cf78c
mov eax, dword [ebp - 0x64]
mov dword [esp + 4], 3
mov dword [esp], eax
call fcn.00411cbb
cmp dword [ebx + 0x6c], 0xffffffff
mov dword [ebx + 0x78], eax
mov dword [ebx + 0x7c], edx
je 0x4cf77c
mov dword [esp + 8], 0x3d01
mov dword [esp + 4], str.shell.c
mov dword [esp], str.p1__nVal_1
call fcn.004eaa60
mov dword [ebx + 0x6c], 0
mov dword [ebx + 0x70], 1
jmp 0x4cf7f1
mov eax, dword [ebp - 0x6c]
cmp eax, dword [edi + 8]
jge 0x4cf7f1
mov eax, dword [ebp - 0x78]
mov edi, dword [ebp - 0x6c]
lea esi, [eax + edi*4]
cmp dword [esi], 0
je 0x4cf7be
mov dword [esp + 8], 0x3d05
mov dword [esp + 4], str.shell.c
mov dword [esp], str.apVal_iField_0
call fcn.004eaa60
mov eax, dword [ebp - 0x9c]
mov dword [esp], eax
call fcn.00436148
test eax, eax
mov dword [esi], eax
jne 0x4cf7ea
mov dword [esp + 8], 0
mov dword [esp + 4], 7
mov dword [esp], ebx
call fcn.004b84e2
mov eax, dword [ebp - 0x6c]
inc eax
mov dword [ebx + 0x6c], eax
mov eax, dword [ebp - 0x98]
mov dword [ebx + 0x88], eax
mov eax, dword [ebp - 0x80]
mov dword [ebx + 0x80], eax
mov eax, dword [ebp - 0x94]
mov dword [ebx + 0x84], eax
jmp 0x4ce6ee
mov eax, dword [ebx + 0x54]
mov dword [ebp - 0x64], eax
mov eax, dword [ebx + 0x68]
mov dword [ebp - 0x78], eax
jmp 0x4ce4fc
add esp, 0xbc
pop ebx
pop esi
pop edi
pop ebp
ret