Function at 0x100a0e20
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x38
push ebx
push esi
push edi
mov edi, ecx
xor ebx, ebx
mov esi, edx
mov dword [ebp - 0x30], edi
mov dword [ebp - 0x38], esi
mov eax, dword [edi]
mov dword [ebp - 4], eax
cmp dword [edi + 0xec], ebx
je 0x100a0e5c
push 0x1b622
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pParse__pNewTable0
call fcn.101aa953
mov eax, dword [ebp - 4]
add esp, 0xc
mov ecx, eax
call fcn.10050720
test eax, eax
jne 0x100a0e7e
push 0x1b623
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3BtreeHoldsAllMutexes_db_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebp - 4]
cmp byte [eax + 0x57], bl
je 0x100a0ea2
push 0x1b624
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push 0x101f935c
call fcn.101aa953
add esp, 0xc
jmp 0x100a101c
cmp dword [esi + 8], ebx
je 0x100a0ec3
cmp dword [esi + 0xc], ebx
je 0x100a0ec3
push 0x1c3b2
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.p__pSchema0__p__zDatabase0
call fcn.101aa953
add esp, 0xc
mov edx, dword [esi + 8]
test edx, edx
je 0x100a0edd
mov ecx, dword [edi]
call fcn.100cb440
mov ecx, dword [edi]
add eax, eax
mov ecx, dword [ecx + 0x10]
mov eax, dword [ecx + eax*8]
jmp 0x100a0ee0
mov eax, dword [esi + 0xc]
push eax
push dword [esi + 0x10]
xor edx, edx
mov ecx, edi
call fcn.100a6050
mov ebx, eax
add esp, 8
mov dword [ebp - 0xc], ebx
test ebx, ebx
je 0x100a0f3b
mov edx, ebx
mov ecx, edi
call fcn.1009c4e0
test eax, eax
jne 0x100a0f3b
xor edx, edx
mov ecx, str.view
cmp byte [ebx + 0x2b], 2
cmovne ecx, edx
cmp byte [ebx + 0x2b], 1
jne 0x100a0f21
mov ecx, str.virtual_table
jmp 0x100a0f25
test ecx, ecx
je 0x100a0f42
push dword [ebx]
push ecx
push str.drop_column_from
push str.cannot__s__s___s_
push edi
call fcn.10037890
add esp, 0x14
xor ebx, ebx
jmp 0x100a101c
mov eax, dword [ebp + 8]
test eax, eax
je 0x100a154a
mov esi, dword [eax + 4]
xor ecx, ecx
mov eax, dword [eax]
mov dword [ebp - 0x2c], eax
test eax, eax
jne 0x100a0f7e
mov eax, esi
or eax, ecx
je 0x100a108b
push 0x734a
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.z_0__n0
call fcn.101aa953
add esp, 0xc
xor ecx, ecx
mov eax, esi
xor edx, edx
and eax, 0x7fffffff
cmp eax, esi
jne 0x100a0f8f
cmp edx, ecx
je 0x100a0fa8
push 0x734b
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._n0x7fffffff_n
call fcn.101aa953
add esp, 0xc
xor ecx, ecx
cmp dword [ebp - 0x2c], 0
je 0x100a108b
mov eax, esi
add eax, 1
adc ecx, 0
push ecx
mov ecx, dword [ebp - 4]
push eax
call fcn.10030d80
add esp, 8
mov dword [ebp - 8], eax
test eax, eax
je 0x100a0fe2
push esi
push dword [ebp - 0x2c]
push eax
call fcn.10190960
mov eax, dword [ebp - 8]
add esp, 0xc
mov byte [esi + eax], 0
mov esi, dword [ebp - 8]
mov ecx, esi
call fcn.10037a10
test esi, esi
je 0x100a154e
mov edx, esi
mov ecx, ebx
call fcn.100cce60
mov dword [ebp - 0x20], eax
test eax, eax
jns 0x100a1095
push dword [ebp + 8]
push str.no_such_column:___T_
push edi
call fcn.10037890
add esp, 0xc
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 4]
mov esi, dword [edi + 0xc]
test esi, esi
je 0x100a106c
mov eax, dword [0x1024512c]
test eax, eax
jne 0x100a104b
push 0x6c13
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.p0__sqlite3GlobalConfig.mutex.xMutexHeld
call fcn.101aa953
mov eax, dword [0x1024512c]
add esp, 0xc
push esi
call eax
add esp, 4
test eax, eax
jne 0x100a106c
push 0x7231
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db0__sqlite3_mutex_held_db__mutex_
call fcn.101aa953
add esp, 0xc
test ebx, ebx
je 0x100a1079
mov edx, ebx
mov ecx, edi
call fcn.10030890
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp - 4]
call fcn.100b05b0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
xor esi, esi
mov dword [ebp - 8], esi
jmp 0x100a0fe5
mov ecx, eax
mov eax, dword [ebx + 4]
shl ecx, 4
mov dword [ebp - 0x28], ecx
movzx eax, word [eax + ecx + 0xe]
test al, 9
je 0x100a10cd
test al, 1
mov ecx, str.UNIQUE
push esi
mov eax, str.PRIMARY_KEY
cmove eax, ecx
push eax
push str.cannot_drop__s_column:___s_
push edi
call fcn.10037890
add esp, 0x10
jmp 0x100a1019
cmp word [ebx + 0x22], 1
jg 0x100a10df
push esi
push str.cannot_drop_column___s_:_no_other_columns_exist
jmp 0x100a1010
mov esi, dword [ebp - 4]
mov ecx, esi
mov edx, dword [ebx + 0x3c]
call fcn.100cb440
mov ebx, eax
mov dword [ebp - 0x24], ebx
test ebx, ebx
jns 0x100a110c
push 0x1b64b
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.iDb_0
call fcn.101aa953
add esp, 0xc
mov eax, dword [esi + 0x10]
mov ecx, ebx
add ecx, ecx
mov edx, 0x1a
mov esi, dword [eax + ecx*8]
mov ecx, edi
mov eax, dword [ebp - 8]
push eax
mov eax, dword [ebp - 0xc]
push dword [eax]
push esi
call fcn.100a4e70
add esp, 0xc
test eax, eax
jne 0x100a1019
push 0
push 0x101ebc35
cmp ebx, 1
mov byte [edi + 0x10], 1
sete al
push eax
push esi
push esi
push str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
push edi
mov dword [ebp - 0x2c], eax
call fcn.100a5810
add esp, 0x1c
cmp ebx, 1
je 0x100a1194
push 0
push 0x101ebc35
push esi
push str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
push edi
call fcn.100a5810
add esp, 0x14
push esi
push esi
push str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_quotefix__Q__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
push edi
call fcn.100a5810
push str.UPDATE_temp.sqlite_master_SET_sql__sqlite_rename_quotefix_temp__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
push edi
call fcn.100a5810
add esp, 0x18
jmp 0x100a11a4
push esi
push esi
push str.UPDATE___w_.sqlite_master_SET_sql__sqlite_rename_quotefix__Q__sql_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual__
push edi
call fcn.100a5810
add esp, 0x10
mov eax, dword [ebp - 0xc]
push dword [eax]
push dword [ebp - 0x20]
push ebx
push esi
push str.UPDATE___w_.sqlite_master_SET_sql__sqlite_drop_column__d__sql___d__WHERE__typetable_AND_tbl_name_Q_COLLATE_nocase_
push edi
call fcn.100a5810
add esp, 0x18
cmp dword [edi + 8], 0
je 0x100a11f5
mov edx, ebx
mov ecx, edi
call fcn.100a9cb0
mov ecx, dword [edi + 8]
mov edx, ebx
push 2
push 0
call fcn.1006aaf0
add esp, 8
cmp ebx, 1
je 0x100a11f5
mov ecx, dword [edi + 8]
mov edx, 1
push 2
push 0
call fcn.1006aaf0
add esp, 8
push 1
push str.after_drop_column
push dword [ebp - 0x2c]
mov byte [edi + 0x10], 1
push esi
push esi
push str.SELECT_1_FROM___w_.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name___d___Q___d_NULL
push edi
call fcn.100a5810
add esp, 0x1c
cmp ebx, 1
je 0x100a122e
push 1
push str.after_drop_column
push esi
push str.SELECT_1_FROM_temp.sqlite_master_WHERE_name_NOT_LIKE_sqliteX____ESCAPE_X_AND_sql_NOT_LIKE_create_virtual___AND_sqlite_rename_test__Q__sql__type__name__1___Q___d_NULL
push edi
call fcn.100a5810
add esp, 0x14
cmp dword [edi + 0x24], 0
jne 0x100a1019
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x28]
mov eax, dword [eax + 4]
test byte [ecx + eax + 0xe], 0x20
jne 0x100a1019
mov ebx, dword [edi + 8]
xor eax, eax
xor esi, esi
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x14], ebx
test ebx, ebx
jne 0x100a127a
cmp dword [edi + 0x74], eax
jne 0x100a126e
mov eax, dword [edi]
test byte [eax + 0x50], 8
jne 0x100a126e
mov byte [edi + 0x17], 1
mov ecx, edi
call fcn.1006a3c0
mov ebx, eax
mov dword [ebp - 0x14], eax
mov eax, dword [edi + 0x28]
mov edx, eax
push 0x71
push dword [ebp - 0xc]
mov dword [ebp - 0x10], eax
push dword [ebp - 0x24]
lea ecx, [eax + 1]
mov dword [edi + 0x28], ecx
mov ecx, edi
call fcn.100bc8e0
add esp, 0xc
mov edx, 0x23
mov ecx, ebx
push 0
push 0
push dword [ebp - 0x10]
call fcn.1006a700
mov edx, dword [edi + 0x2c]
add esp, 0xc
mov ecx, dword [ebp - 0xc]
inc edx
mov dword [edi + 0x2c], edx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x18], edx
test byte [ecx + 0x1c], 0x80
jne 0x100a12e9
push 0
push edx
push dword [ebp - 0x10]
mov edx, 0x87
mov ecx, ebx
call fcn.1006a700
mov ecx, dword [ebp - 0xc]
add esp, 0xc
movsx edx, word [ecx + 0x22]
add edx, dword [edi + 0x2c]
xor ebx, ebx
jmp 0x100a135a
mov esi, dword [ecx + 8]
test esi, esi
je 0x100a1300
mov eax, dword [esi + 0x38]
and al, 3
cmp al, 2
je 0x100a1300
mov esi, dword [esi + 0x14]
test esi, esi
jne 0x100a12f0
movzx eax, word [esi + 0x34]
xor ebx, ebx
add edx, eax
mov dword [edi + 0x2c], edx
movzx eax, word [esi + 0x32]
mov ecx, eax
mov dword [ebp - 0x2c], ecx
xor ecx, ecx
cmp cx, ax
mov ecx, dword [ebp - 0xc]
jae 0x100a1351
mov edi, dword [ebp - 0x14]
mov eax, dword [ebp - 0x18]
mov edx, 0x5e
inc eax
mov ecx, edi
add eax, ebx
push eax
push ebx
push dword [ebp - 0x10]
call fcn.1006a700
movzx ecx, word [esi + 0x32]
inc ebx
add esp, 0xc
cmp ebx, ecx
jl 0x100a1321
mov edi, dword [ebp - 0x30]
mov eax, ecx
mov ecx, dword [ebp - 0xc]
mov edx, dword [edi + 0x2c]
jmp 0x100a1354
mov eax, dword [ebp - 0x2c]
movzx ebx, ax
mov dword [ebp - 0x1c], ebx
lea eax, [edx + 1]
xor edx, edx
mov dword [edi + 0x2c], eax
mov dword [ebp - 0x2c], eax
xor eax, eax
mov dword [ebp - 0x24], edx
cmp ax, word [ecx + 0x22]
jge 0x100a1445
mov dword [ebp - 0x28], eax
cmp edx, dword [ebp - 0x20]
je 0x100a142e
mov edi, dword [ebp - 0x28]
mov eax, dword [ecx + 4]
test byte [edi + eax + 0xe], 0x20
mov edi, dword [ebp - 0x14]
jne 0x100a142e
test esi, esi
je 0x100a13da
movzx ebx, word [esi + 0x34]
xor ecx, ecx
test ebx, ebx
je 0x100a13b2
mov eax, dword [esi + 4]
cmp dx, word [eax]
je 0x100a1406
inc ecx
add eax, 2
cmp ecx, ebx
jl 0x100a13a5
or eax, 0xffffffff
movsx ebx, ax
movzx eax, word [esi + 0x32]
cmp ebx, eax
jl 0x100a1428
mov edx, dword [ebp - 0x20]
mov ecx, esi
call fcn.100a7d00
mov edx, dword [ebp - 0x24]
xor ecx, ecx
cwde
cmp ebx, eax
setg cl
sub ebx, ecx
mov ecx, dword [ebp - 0xc]
add ebx, dword [ebp - 0x18]
movsx eax, word [ecx + 0x20]
inc ebx
cmp edx, eax
jne 0x100a140b
push 0
push ebx
push 0
mov edx, 0x4b
mov ecx, edi
call fcn.1006a700
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp - 0x24]
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x100a142b
movzx eax, cx
jmp 0x100a13b5
push ebx
push edx
push dword [ebp - 0x10]
mov edx, ecx
mov ecx, edi
call fcn.10096e40
mov ebx, dword [ebp - 0x1c]
add esp, 0xc
mov edx, dword [ebp - 0x24]
inc ebx
mov dword [ebp - 0x1c], ebx
jmp 0x100a142b
mov ebx, dword [ebp - 0x1c]
mov ecx, dword [ebp - 0xc]
movsx eax, word [ecx + 0x22]
inc edx
add dword [ebp - 0x28], 0x10
mov dword [ebp - 0x24], edx
cmp edx, eax
jl 0x100a1377
mov edi, dword [ebp - 0x30]
test ebx, ebx
mov ebx, dword [ebp - 0x14]
jne 0x100a146e
mov eax, dword [ebp - 0x18]
mov edx, 0x4b
inc dword [edi + 0x2c]
inc eax
push 0
push eax
push 0
mov ecx, ebx
call fcn.1006a700
add esp, 0xc
mov eax, 1
jmp 0x100a1471
mov eax, dword [ebp - 0x1c]
push dword [ebp - 0x2c]
mov edi, dword [ebp - 0x18]
mov edx, 0x61
push eax
inc edi
mov ecx, ebx
push edi
call fcn.1006a700
add esp, 0xc
mov ecx, ebx
test esi, esi
je 0x100a152e
movzx esi, word [esi + 0x32]
mov edx, 0x8a
push edi
push dword [ebp - 0x2c]
push dword [ebp - 0x10]
call fcn.1006a700
mov ecx, dword [ebx]
add esp, 0xc
cmp byte [ecx + 0x57], 0
jne 0x100a14c2
lea ecx, [eax + eax*2]
mov eax, dword [ebx + 0x68]
mov byte [eax + ecx*8 + 1], 0xfd
mov dword [eax + ecx*8 + 0x10], esi
mov esi, dword [ebp - 0x10]
cmp dword [ebx + 0x6c], 0
jg 0x100a14ea
mov eax, dword [ebx]
cmp byte [eax + 0x57], 0
jne 0x100a14ea
push 0x13f79
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.p__nOp_0__p__db__mallocFailed
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x6c]
test eax, eax
jle 0x100a1501
lea ecx, [eax + eax*2]
mov edx, 2
mov eax, dword [ebx + 0x68]
mov word [eax + ecx*8 - 0x16], dx
mov edi, dword [ebp - 0x34]
mov edx, 0x26
push 0
mov ecx, ebx
lea eax, [edi + 1]
push eax
push esi
call fcn.1006a700
mov esi, dword [ebx + 0x6c]
add esp, 0xc
mov edx, edi
mov ecx, ebx
call fcn.1006c2b0
mov dword [eax + 8], esi
jmp 0x100a1019
push dword [ebp - 0x18]
mov esi, dword [ebp - 0x10]
mov edx, 0x80
push dword [ebp - 0x2c]
push esi
call fcn.1006a700
add esp, 0xc
jmp 0x100a14c5
xor ebx, ebx
jmp 0x100a1551
mov ebx, dword [ebp - 8]
mov edi, dword [ebp - 4]
cmp byte [edi + 0x57], 0
jne 0x100a101f
push 0x1b630
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db__mallocFailed
call fcn.101aa953
add esp, 0xc
jmp 0x100a101f