Function at 0x1009caa0
Capabilities:
Reference sql statements

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x2c
mov eax, dword [0x10244540]
xor eax, ebp
mov dword [ebp - 4], eax
push ebx
push esi
mov esi, ecx
mov dword [ebp - 0x28], edx
push edi
mov edi, dword [esi]
mov dword [ebp - 0xc], edi
cmp dword [edi + 0x10c], esi
je 0x1009cadc
push 0x1af13
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db__pParsepParse
call fcn.101aa953
add esp, 0xc
cmp dword [esi + 0x24], 0
jne 0x1009d0f5
cmp byte [edi + 0x57], 0
je 0x1009cb03
push 0x1af15
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db__mallocFailed0
call fcn.101aa953
add esp, 0xc
mov ebx, dword [esi + 0xec]
test ebx, ebx
jne 0x1009cb24
push 0x1af17
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pNew
call fcn.101aa953
add esp, 0xc
mov ecx, edi
call fcn.10050720
test eax, eax
jne 0x1009cb46
push 0x1af19
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3BtreeHoldsAllMutexes_db_
call fcn.101aa953
add esp, 0xc
mov edx, dword [ebx + 0x3c]
mov ecx, edi
call fcn.100cb440
mov ecx, dword [edi + 0x10]
mov edx, eax
add edx, edx
mov dword [ebp - 0x18], eax
mov eax, dword [ecx + edx*8]
movsx edx, word [ebx + 0x22]
shl edx, 4
add edx, dword [ebx + 4]
mov dword [ebp - 0x10], eax
mov eax, dword [ebx]
add eax, 0x10
mov dword [ebp - 0x20], edx
cmp word [edx - 4], 0
mov dword [ebp - 0x14], eax
jne 0x1009cb80
xor edi, edi
jmp 0x1009cbf6
cmp byte [ebx + 0x2b], 0
je 0x1009cba1
push 0x1c491
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push 0x101f935c
call fcn.101aa953
add esp, 0xc
xor edi, edi
jmp 0x1009cbf6
cmp dword [ebx + 0x34], 0
jne 0x1009cbc2
push 0x1c492
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push 0x101f935c
call fcn.101aa953
add esp, 0xc
xor edi, edi
jmp 0x1009cbf6
mov eax, dword [ebx + 0x34]
movzx ecx, word [edx - 4]
cmp dword [eax], ecx
jge 0x1009cbe8
push 0x1c493
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push 0x101f935c
call fcn.101aa953
add esp, 0xc
xor edi, edi
jmp 0x1009cbf6
movzx eax, word [edx - 4]
lea ecx, [eax + eax*4]
mov eax, dword [ebx + 0x34]
mov edi, dword [eax + ecx*4 - 0xc]
push dword [ebp - 0x10]
mov edx, dword [ebp - 0x14]
mov ecx, dword [ebp - 0xc]
call fcn.100a5a10
add esp, 4
mov dword [ebp - 0x1c], eax
test eax, eax
jne 0x1009cc28
push 0x1af20
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pTab
call fcn.101aa953
mov eax, dword [ebp - 0x1c]
add esp, 0xc
push 0
push dword [eax]
mov edx, 0x1a
mov ecx, esi
push dword [ebp - 0x10]
call fcn.100a4e70
add esp, 0xc
test eax, eax
jne 0x1009d0f5
mov eax, dword [ebp - 0x20]
movzx eax, word [eax - 2]
test al, 1
je 0x1009cc70
push str.Cannot_add_a_PRIMARY_KEY_column
push esi
call fcn.10037890
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 8], 0
je 0x1009cc95
push str.Cannot_add_a_UNIQUE_column
push esi
call fcn.10037890
add esp, 8
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
test al, 0x60
jne 0x1009ce1c
test edi, edi
je 0x1009ccc8
cmp byte [edi], 0xb5
je 0x1009ccbd
push 0x1af3c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pDflt0__pDflt__opTK_SPAN
call fcn.101aa953
add esp, 0xc
mov eax, dword [edi + 0xc]
xor ecx, ecx
cmp byte [eax], 0x79
cmove edi, ecx
cmp byte [ebx + 0x2b], 0
je 0x1009cce5
push 0x1af40
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.IsOrdinaryTable_pNew_
call fcn.101aa953
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov eax, dword [ecx + 0x20]
and eax, 0x4000
or eax, 0
je 0x1009cd1b
cmp dword [ebx + 0x30], 0
je 0x1009cd1b
test edi, edi
je 0x1009cd1b
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push str.Cannot_add_a_REFERENCES_column_with_non_NULL_default_value
push str.SELECT_raise_ABORT__Q__FROM___w_.__w_
push esi
call fcn.100a5810
mov ecx, dword [ebp - 0xc]
add esp, 0x14
mov eax, dword [ebp - 0x20]
test byte [eax - 0xc], 0xf
je 0x1009cd38
test edi, edi
jne 0x1009cd40
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push str.Cannot_add_a_NOT_NULL_column_with_default_value_NULL
jmp 0x1009ce2b
test edi, edi
je 0x1009ce39
push ecx
lea eax, [ebp - 8]
mov dword [ebp - 8], 0
push eax
push 0x41
push 1
mov edx, edi
call fcn.10069ab0
add esp, 0x10
test eax, eax
je 0x1009cdaf
cmp eax, 7
je 0x1009cd7a
push 0x1af52
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.rcSQLITE_OK__rcSQLITE_NOMEM
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebp - 0xc]
cmp byte [eax + 0x57], 1
je 0x1009d0f5
push 0x1af54
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db__mallocFailed__1
call fcn.101aa953
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 4]
xor ecx, ebp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
mov edi, dword [ebp - 8]
test edi, edi
jne 0x1009cdd6
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push str.Cannot_add_a_column_with_non_constant_default
push str.SELECT_raise_ABORT__Q__FROM___w_.__w_
push esi
call fcn.100a5810
mov edi, dword [ebp - 8]
add esp, 0x14
test edi, edi
je 0x1009ce39
mov ecx, edi
call fcn.10066930
test eax, eax
jne 0x1009cdf8
push 0x13585
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3VdbeCheckMemInvariants_p_
call fcn.101aa953
add esp, 0xc
mov eax, 0x9000
test word [edi + 0x10], ax
jne 0x1009ce09
cmp dword [edi + 0x18], 0
je 0x1009ce10
mov ecx, edi
call fcn.10067da0
mov ecx, dword [edi + 0x14]
mov edx, edi
call fcn.10030890
jmp 0x1009ce39
test al, 0x40
je 0x1009ce39
push dword [ebp - 0x14]
push dword [ebp - 0x10]
push str.cannot_add_a_STORED_column
push str.SELECT_raise_ABORT__Q__FROM___w_.__w_
push esi
call fcn.100a5810
add esp, 0x14
mov eax, dword [ebp - 0x28]
xor ecx, ecx
mov edi, dword [eax + 4]
mov eax, dword [eax]
mov dword [ebp - 0x24], edi
mov dword [ebp - 8], eax
test eax, eax
jne 0x1009ce70
mov eax, edi
or eax, ecx
je 0x1009cfb6
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, edi
xor edx, edx
and eax, 0x7fffffff
cmp eax, edi
jne 0x1009ce81
cmp edx, ecx
je 0x1009ce9a
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 - 8], 0
je 0x1009cfb6
mov eax, edi
add eax, 1
adc ecx, 0
push ecx
mov ecx, dword [ebp - 0xc]
push eax
call fcn.10030d80
mov edi, eax
add esp, 8
test edi, edi
je 0x1009cfb6
push dword [ebp - 0x24]
push dword [ebp - 8]
push edi
call fcn.10190960
mov eax, dword [ebp - 0x24]
add esp, 0xc
mov edx, dword [ebp - 0x28]
mov byte [eax + edi], 0
mov ecx, dword [edx + 4]
dec ecx
add ecx, edi
cmp ecx, edi
jbe 0x1009cf00
mov al, byte [ecx]
cmp al, 0x3b
je 0x1009cef8
movzx eax, al
test byte [eax + 0x101eeba8], 1
je 0x1009cf00
mov byte [ecx], 0
dec ecx
cmp ecx, edi
ja 0x1009cee6
mov eax, dword [ebp - 0x1c]
cmp byte [eax + 0x2b], 0
je 0x1009cf20
push 0x1af6b
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.IsOrdinaryTable_pTab_
call fcn.101aa953
add esp, 0xc
cmp byte [ebx + 0x2b], 0
je 0x1009cf3d
push 0x1af6c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.IsOrdinaryTable_pNew_
call fcn.101aa953
add esp, 0xc
push dword [ebp - 0x14]
mov eax, dword [ebx + 0x2c]
push eax
push edi
push eax
push dword [ebp - 0x10]
push str.UPDATE___w_.sqlite_master_SET_sql__printf___._ds___sql____Q__substr_sql_1length_printf___._ds_sql____WHERE_type__table_AND_name___Q
push esi
call fcn.100a5810
mov edx, dword [ebp - 0xc]
add esp, 0x1c
mov eax, dword [edx + 0xc]
mov dword [ebp - 0x1c], eax
test eax, eax
je 0x1009cfac
mov eax, dword [0x1024512c]
test eax, eax
jne 0x1009cf89
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 dword [ebp - 0x1c]
call eax
add esp, 4
test eax, eax
jne 0x1009cfac
push 0x7231
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db0__sqlite3_mutex_held_db__mutex_
call fcn.101aa953
add esp, 0xc
mov ecx, dword [ebp - 0xc]
mov edx, edi
call fcn.10030890
mov edi, dword [esi + 8]
test edi, edi
jne 0x1009cfdf
cmp dword [esi + 0x74], edi
jne 0x1009cfce
mov eax, dword [esi]
test byte [eax + 0x50], 8
jne 0x1009cfce
mov byte [esi + 0x17], 1
mov ecx, esi
call fcn.1006a3c0
mov edi, eax
test edi, edi
je 0x1009d0f5
mov al, byte [esi + 0x13]
test al, al
jne 0x1009cfee
inc dword [esi + 0x2c]
mov eax, dword [esi + 0x2c]
jmp 0x1009cffd
dec al
mov byte [esi + 0x13], al
movzx eax, al
mov eax, dword [esi + eax*4 + 0x98]
push 2
push eax
push dword [ebp - 0x18]
mov edx, 0x63
mov dword [ebp - 0xc], eax
mov ecx, edi
call fcn.1006a700
mov edx, dword [ebp - 0x18]
add esp, 0xc
mov ecx, edi
call fcn.1006ce20
push 0
push 0xfffffffffffffffe
push dword [ebp - 0xc]
mov edx, 0x56
mov ecx, edi
call fcn.1006a700
add esp, 0xc
cmp byte [edi + 0x9d], 0
je 0x1009d055
push 0x13ed4
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.p__eVdbeStateVDBE_INIT_STATE
call fcn.101aa953
add esp, 0xc
mov eax, dword [edi + 0x6c]
mov edx, 0x31
push 0
add eax, 2
mov ecx, edi
push eax
push dword [ebp - 0xc]
call fcn.1006a700
add esp, 0xc
mov edx, 0x64
mov ecx, edi
push 3
push 2
push dword [ebp - 0x18]
call fcn.1006a700
mov edx, dword [ebp - 0xc]
add esp, 0xc
mov ecx, esi
call fcn.1009c390
cmp dword [esi + 8], 0
je 0x1009d0cc
mov edi, dword [ebp - 0x18]
mov ecx, esi
mov edx, edi
call fcn.100a9cb0
mov ecx, dword [esi + 8]
mov edx, edi
push 3
push 0
call fcn.1006aaf0
add esp, 8
cmp edi, 1
je 0x1009d0cc
mov ecx, dword [esi + 8]
mov edx, 1
push 3
push 0
call fcn.1006aaf0
add esp, 8
cmp dword [ebx + 0x10], 0
jne 0x1009d0e1
mov eax, dword [ebp - 0x20]
test byte [eax - 0xc], 0xf
je 0x1009d0f5
test byte [eax - 2], 0x60
je 0x1009d0f5
push dword [ebp - 0x10]
push dword [ebp - 0x14]
push str.SELECT_CASE_WHEN_quick_check_GLOB_CHECK_THEN_raise_ABORT_CHECK_constraint_failed__ELSE_raise_ABORT_NOT_NULL_constraint_failed__END__FROM_pragma_quick_check__Q__Q__WHERE_quick_check_GLOB_CHECK_OR_quick_check_GLOB_NULL
push esi
call fcn.100a5810
add esp, 0x10
mov ecx, dword [ebp - 4]
pop edi
pop esi
xor ecx, ebp
pop ebx
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret