Function at 0x1008d470
Capabilities:
Inspect section memory permissions
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [0x10244540]
xor eax, esp
mov dword [esp + 0x80], eax
push ebx
push esi
mov esi, dword [ebp + 0xc]
push edi
mov edi, dword [ebp + 8]
mov dword [esp + 0x14], edi
mov dword [esp + 0x30], esi
mov ebx, dword [edi + 0x18]
mov dword [esp + 0x18], ebx
test ebx, ebx
jne 0x1008d4bd
push 0x18fb3
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pNC_0
call fcn.101aa953
add esp, 0xc
mov ecx, dword [ebx]
mov dword [esp + 0x10], ecx
cmp ecx, dword [edi]
je 0x1008d4e2
push 0x18fb5
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pParsepWalker__pParse
call fcn.101aa953
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [ebx + 4]
mov edi, eax
test eax, eax
je 0x1008d53d
cmp dword [eax + 4], 0
jbe 0x1008d53d
cmp dword [eax], 0
jle 0x1008d53d
add eax, 0x34
xor esi, esi
mov dword [esp + 0x2c], eax
nop
mov edx, dword [eax]
test edx, edx
js 0x1008d50b
cmp edx, dword [ecx + 0x28]
jl 0x1008d52a
push 0x18fbc
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pSrcList__a_i_.iCursor_0__pSrcList__a_i_.iCursor_pParse__nTab
call fcn.101aa953
mov ecx, dword [esp + 0x1c]
add esp, 0xc
mov eax, dword [esp + 0x2c]
mov edi, dword [ebx + 4]
inc esi
add eax, 0x48
mov dword [esp + 0x2c], eax
cmp esi, dword [edi]
jl 0x1008d500
mov esi, dword [esp + 0x30]
mov dl, byte [esi]
movzx eax, dl
add eax, 0xffffffec
cmp eax, 0x98
ja case.0x1008d55b.29
movzx eax, byte [eax + 0x1008e6b8]
mov dword [esp + 0x34], 1
jmp dword [eax*4 + 0x1008e690]
test edi, edi
je 0x1008d56b
cmp dword [edi], 1
jge 0x1008d582
push 0x18fca
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pSrcList__pSrcList__nSrc_1
call fcn.101aa953
add esp, 0xc
test dword [esi + 4], 0x3000000
mov byte [esi], 0xa7
je 0x1008d5a5
push 0x18fcd
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseYTab_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [edi + 0x18]
mov dword [esi + 0x2c], eax
mov eax, dword [edi + 0x34]
dec word [esi + 0x20]
mov dword [esi + 0x1c], eax
mov byte [esi + 1], 0x44
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
je 0x1008d5e2
cmp dword [edi + 0x24], 0
jne 0x1008d5e2
push 0x19168
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pParse__db__mallocFailed0__pParse__nErr_0
call fcn.101aa953
add esp, 0xc
mov eax, dword [edi + 0x24]
neg eax
sbb eax, eax
and eax, 2
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
xor ecx, ecx
mov edx, ebx
cmp ecx, 8
jge 0x1008d619
mov eax, dword [edx + 0x10]
mov edx, dword [edx + 0xc]
mov dword [esp + ecx*4 + 0x50], eax
inc ecx
test edx, edx
jne 0x1008d605
mov edx, dword [esi + 0xc]
test edx, edx
je 0x1008d629
mov ecx, dword [esp + 0x14]
call fcn.1008b630
mov ecx, dword [esi + 0xc]
call fcn.100941c0
test eax, eax
jne 0x1008e153
mov edi, dword [esp + 0x10]
cmp byte [edi + 0xd0], 2
jae 0x1008e153
mov eax, dword [esi + 4]
test al, 1
je 0x1008d65b
add dword [0x102549bc], 0x18fed
test eax, 0x800
je 0x1008d679
push 0x18fee
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._ExprHasProperty_pExpr__EP_IntValue_
call fcn.101aa953
add esp, 0xc
cmp byte [esi], 0x33
mov edx, 0x20000000
mov eax, 0x10000000
cmovne eax, edx
mov edx, str.true
or dword [esi + 4], eax
mov eax, str.false
cmp byte [esi], 0x33
cmove eax, edx
xor edx, edx
mov dword [esi + 8], eax
mov byte [esi], 0xaa
cmp edx, 8
jge 0x1008d6b8
mov eax, dword [esp + edx*4 + 0x50]
inc edx
mov dword [ebx + 0x10], eax
mov ebx, dword [ebx + 0xc]
test ebx, ebx
jne 0x1008d6a4
mov edx, dword [esi + 0xc]
test edx, edx
je 0x1008d6c6
mov ecx, dword [edi]
call fcn.10091c80
mov eax, dword [esp + 0x34]
mov dword [esi + 0xc], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
cmp dl, 0x3b
jne 0x1008d71d
xor edi, edi
test dword [esi + 4], 0x800
mov dword [esp + 0x2c], edi
je 0x1008d711
push 0x19012
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._ExprHasProperty_pExpr__EP_IntValue_
call fcn.101aa953
add esp, 0xc
mov eax, dword [esi + 8]
mov ecx, dword [esp + 0x10]
jmp 0x1008d8e7
mov edi, dword [ebx + 0x18]
mov edx, dword [esi + 0xc]
mov eax, dword [0x102549bc]
mov dword [esp + 0x14], edx
and edi, 0x20
je 0x1008d73b
add eax, 0x19016
mov dword [0x102549bc], eax
mov ecx, dword [ebx + 0x18]
and ecx, 8
mov dword [esp + 0x34], ecx
mov ecx, dword [esp + 0x10]
je 0x1008d755
add eax, 0x19017
mov dword [0x102549bc], eax
mov eax, dword [ebx + 0x18]
test al, 0x28
je 0x1008d7bd
mov edx, str.partial_index_WHERE_clauses
test edi, edi
je 0x1008d76c
mov eax, str.index_expressions
jmp 0x1008d784
test al, 4
je 0x1008d777
mov eax, str.CHECK_constraints
jmp 0x1008d784
cmp dword [esp + 0x34], 0
mov eax, str.generated_columns
cmove eax, edx
push eax
push str.the__.__operator
push str._s_prohibited_in__s
push ecx
call fcn.10037890
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov eax, esi
mov edx, dword [ecx]
test byte [eax + 4], 3
jne 0x1008d7ad
mov ecx, dword [eax + 0x24]
test ecx, ecx
jg 0x1008d7b6
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x1008d7a0
jmp 0x1008d7b9
mov dword [edx + 0x44], ecx
mov edx, dword [esp + 0x14]
mov edi, dword [esi + 0x10]
mov al, byte [edi]
cmp al, 0x3b
jne 0x1008d7d0
mov dword [esp + 0x18], 0
jmp 0x1008d820
cmp al, 0x8d
je 0x1008d7eb
push 0x1901e
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pRight__opTK_DOT
call fcn.101aa953
add esp, 0xc
test dword [edi + 4], 0x800
je 0x1008d80b
push 0x1901f
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._ExprHasProperty_pRight__EP_IntValue_
call fcn.101aa953
add esp, 0xc
mov edx, dword [esp + 0x14]
mov eax, dword [edx + 8]
mov edx, dword [edi + 0xc]
mov edi, dword [edi + 0x10]
mov dword [esp + 0x18], eax
mov dword [esp + 0x14], edx
test dword [edx + 4], 0x800
jne 0x1008d832
test dword [edi + 4], 0x800
je 0x1008d84d
push 0x19024
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseUToken_pLeft___ExprUseUToken_pRight_
call fcn.101aa953
mov edx, dword [esp + 0x20]
add esp, 0xc
test dword [esi + 4], 0x3000000
mov eax, dword [edx + 8]
mov ecx, dword [edi + 8]
mov dword [esp + 0x2c], eax
mov dword [esp + 0x20], ecx
je 0x1008d87b
push 0x19027
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseYTab_pExpr_
call fcn.101aa953
add esp, 0xc
mov ecx, dword [esp + 0x10]
cmp byte [ecx + 0xd0], 2
jb 0x1008d8df
mov edx, esi
call fcn.1009da00
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10c]
test eax, eax
je 0x1008d8af
nop dword [eax]
cmp dword [eax], edi
je 0x1008d8ad
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x1008d8a0
jmp 0x1008d8af
mov dword [eax], esi
lea edi, [esi + 0x2c]
mov edx, edi
call fcn.1009da00
mov ecx, dword [esp + 0x10]
mov eax, dword [ecx + 0x10c]
test eax, eax
je 0x1008d8df
mov edx, dword [esp + 0x14]
nop dword [eax + eax]
cmp dword [eax], edx
je 0x1008d8dd
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x1008d8d0
jmp 0x1008d8df
mov dword [eax], edi
mov eax, dword [esp + 0x20]
mov edi, dword [esp + 0x18]
push esi
push ebx
push eax
push dword [esp + 0x38]
mov edx, edi
call fcn.1008c070
add esp, 0x10
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x14]
mov dword [esp + 0x38], eax
test eax, eax
je 0x1008d920
mov ecx, dword [eax]
mov dword [esp + 0x3c], ecx
jmp 0x1008d928
mov dword [esp + 0x3c], 0
mov edi, dword [esp + 0x10]
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], 0
mov dword [esp + 0x48], 0
mov eax, dword [edi]
mov al, byte [eax + 0x54]
mov byte [esp + 0x40], al
mov eax, dword [ebx + 0x18]
and eax, 0x4001
mov dword [esp + 0x4c], eax
mov eax, dword [esi + 4]
test eax, 0x1000000
je 0x1008d96e
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x20], ecx
cmp byte [ecx + 0x10], 0xa6
jne 0x1008d976
mov dword [esp + 0x20], 0
test eax, 0x1800
je 0x1008d994
push 0x1903f
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._ExprHasProperty_pExpr__EP_xIsSelectEP_IntValue_
call fcn.101aa953
add esp, 0xc
mov eax, dword [esi + 8]
mov edx, eax
mov ecx, dword [edi]
push 0
push dword [esp + 0x44]
mov dword [esp + 0x2c], eax
push dword [esp + 0x44]
call fcn.100b3090
mov edx, eax
add esp, 0xc
mov dword [esp + 0x1c], edx
test edx, edx
jne 0x1008d9f1
mov edx, dword [esp + 0x24]
mov ecx, dword [edi]
push eax
push dword [esp + 0x44]
push 0xfffffffffffffffe
call fcn.100b3090
mov ecx, eax
add esp, 0xc
xor eax, eax
mov dword [esp + 0x1c], ecx
test ecx, ecx
sete al
mov dword [esp + 0x2c], eax
xor eax, eax
test ecx, ecx
setne al
mov dword [esp + 0x48], eax
jmp 0x1008dc66
xor eax, eax
cmp dword [edx + 0x14], eax
setne al
test dword [edx + 4], 0x400
mov dword [esp + 0x28], eax
je 0x1008db0d
or dword [esi + 4], 0x80000
cmp dword [esp + 0x3c], 2
jne 0x1008db5b
mov eax, dword [esp + 0x38]
movsd xmm0, qword [0x10237300]
movsd qword [esp + 0x40], xmm0
mov eax, dword [eax + 0x1c]
mov dword [esp + 0x24], eax
cmp byte [eax], 0x99
je 0x1008da46
mov dword [esi + 0x1c], 0xffffffff
jmp 0x1008daf7
test dword [eax + 4], 0x800
je 0x1008da6a
push 0x18f9c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._ExprHasProperty_p__EP_IntValue_
call fcn.101aa953
mov eax, dword [esp + 0x30]
add esp, 0xc
mov eax, dword [eax + 8]
mov dword [esp + 0x24], eax
test eax, eax
jne 0x1008da79
xor ecx, ecx
jmp 0x1008da93
mov ecx, eax
lea edx, [ecx + 1]
nop
mov al, byte [ecx]
inc ecx
test al, al
jne 0x1008da80
mov eax, dword [esp + 0x24]
sub ecx, edx
and ecx, 0x3fffffff
push 1
push ecx
lea edx, [esp + 0x48]
mov ecx, eax
call fcn.10037d00
movsd xmm0, qword [esp + 0x48]
add esp, 8
comisd xmm0, xmmword [0x102371d0]
jae 0x1008dad1
push 0x18f9e
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.r_0.0
call fcn.101aa953
movsd xmm0, qword [esp + 0x4c]
add esp, 0xc
comisd xmm0, xmmword [0x10237208]
jbe 0x1008dae4
mov dword [esi + 0x1c], 0xffffffff
jmp 0x1008daf7
mulsd xmm0, qword [0x10237288]
cvttsd2si eax, xmm0
mov dword [esi + 0x1c], eax
test eax, eax
jns 0x1008db09
push esi
push str.second_argument_to__T___must_be_a_constant_between_0.0_and_1.0
push edi
call fcn.10037890
add esp, 0xc
inc dword [ebx + 0x14]
mov edx, dword [esp + 0x1c]
push 0
push dword [edx + 0x20]
mov edx, 0x1f
mov ecx, edi
push 0
call fcn.100a4e70
add esp, 0xc
test eax, eax
je 0x1008db78
cmp eax, 1
jne 0x1008db3e
push esi
push str.not_authorized_to_use_function:__T
push edi
call fcn.10037890
add esp, 0xc
inc dword [ebx + 0x14]
mov byte [esi], 0x79
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0x20]
mov ecx, 0x7800000
mov dword [esp + 0x24], 0x800000
cmp byte [eax], 0x75
cmove ecx, dword [esp + 0x24]
mov dword [esi + 0x1c], ecx
jmp 0x1008db0d
mov ecx, dword [esp + 0x1c]
test dword [ecx + 4], 0x2800
je 0x1008db8c
or dword [esi + 4], 0x100000
test dword [ecx + 4], 0x800
jne 0x1008dbfb
mov eax, dword [ebx + 0x18]
test al, 0x2a
je 0x1008dc13
mov ecx, str.partial_index_WHERE_clauses
test al, 0x20
je 0x1008dbb0
mov eax, str.index_expressions
jmp 0x1008dbc5
test al, 4
je 0x1008dbbb
mov eax, str.CHECK_constraints
jmp 0x1008dbc5
test al, 8
mov eax, str.generated_columns
cmove eax, ecx
push eax
push str.non_deterministic_functions
push str._s_prohibited_in__s
push edi
call fcn.10037890
mov edx, dword [edi]
add esp, 0x10
mov eax, esi
nop dword [eax]
test byte [eax + 4], 3
jne 0x1008dbed
mov ecx, dword [eax + 0x24]
test ecx, ecx
jg 0x1008dbf6
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x1008dbe0
jmp 0x1008dc13
mov dword [edx + 0x44], ecx
jmp 0x1008dc13
mov al, byte [ebx + 0x18]
and al, 0x2e
mov byte [esi + 2], al
test dword [ebx + 0x18], 0x40000
je 0x1008dc13
or dword [esi + 4], 0x40000000
mov eax, dword [esp + 0x1c]
mov ecx, dword [eax + 4]
test ecx, 0x40000
je 0x1008dc44
cmp byte [edi + 0x12], 0
jne 0x1008dc44
mov eax, dword [edi]
test byte [eax + 0x18], 0x20
jne 0x1008dc40
xor ecx, ecx
mov dword [esp + 0x2c], 1
mov dword [esp + 0x1c], ecx
jmp 0x1008dc66
mov eax, dword [esp + 0x1c]
test ecx, 0x280000
je 0x1008dc62
cmp byte [edi + 0xd0], 2
jae 0x1008dc62
push eax
mov edx, esi
mov ecx, edi
call fcn.10091760
add esp, 4
mov ecx, dword [esp + 0x1c]
cmp byte [edi + 0xd0], 2
mov edx, dword [esp + 0x28]
jae 0x1008ddbf
test edx, edx
je 0x1008dcbe
test dword [ecx + 4], 0x1000
jne 0x1008dcbe
cmp dword [ecx + 0x18], 0
mov eax, dword [ecx + 0x1c]
jne 0x1008dc93
test eax, eax
je 0x1008dcbe
jmp 0x1008dca3
test eax, eax
je 0x1008dca3
cmp dword [ecx + 0x10], 0
je 0x1008dca3
cmp dword [ecx + 0x14], 0
jne 0x1008dcbe
push 0x1909c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.is_agg0___pDef__funcFlags__SQLITE_FUNC_MINMAX____pDef__xValue0__pDef__xInverse0____pDef__xValue__pDef__xInverse__pDef__xSFunc__pDef__xFinalize_
call fcn.101aa953
mov edx, dword [esp + 0x34]
add esp, 0xc
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x20]
test eax, eax
je 0x1008dd08
cmp dword [eax + 0x18], 0
jne 0x1008dd08
test ecx, ecx
je 0x1008dd08
push esi
push str._T___may_not_be_used_as_a_window_function
push edi
call fcn.10037890
mov edx, dword [esp + 0x34]
add esp, 0xc
inc dword [ebx + 0x14]
test edx, edx
je 0x1008ddcf
xor eax, eax
cmp dword [esp + 0x20], eax
setne al
add eax, 0xffffbffe
and dword [ebx + 0x18], eax
jmp 0x1008ddcf
test edx, edx
je 0x1008dd6b
mov eax, dword [ebx + 0x18]
test al, 1
je 0x1008dd33
mov edi, dword [esp + 0x1c]
test dword [edi + 4], 0x10000
mov edi, dword [esp + 0x10]
je 0x1008dd28
test ecx, ecx
je 0x1008dd49
test ecx, ecx
je 0x1008dd6b
test eax, 0x4000
jne 0x1008dd6b
mov eax, dword [esp + 0x1c]
test dword [eax + 4], 0x10000
jne 0x1008dd49
mov eax, str.aggregate
test ecx, ecx
je 0x1008dd4e
mov eax, str.window
push esi
push eax
push str.misuse_of__s_function__T__
push edi
call fcn.10037890
add esp, 0x10
mov dword [esp + 0x28], 0
inc dword [ebx + 0x14]
jmp 0x1008ddcf
cmp dword [esp + 0x2c], 0
je 0x1008dd88
mov eax, dword [edi]
cmp byte [eax + 0xb1], 0
jne 0x1008dd88
push esi
push str.no_such_function:__T
jmp 0x1008dcda
cmp dword [esp + 0x48], 0
je 0x1008dd9a
push esi
push str.wrong_number_of_arguments_to_function__T__
jmp 0x1008dcda
test edx, edx
jne 0x1008dcf2
test dword [esi + 4], 0x1000000
je 0x1008ddcf
push esi
push str.FILTER_may_not_be_used_with_non_aggregate__T__
push edi
call fcn.10037890
add esp, 0xc
inc dword [ebx + 0x14]
jmp 0x1008ddcf
test dword [esi + 4], 0x1000000
cmovne edx, dword [esp + 0x34]
mov dword [esp + 0x28], edx
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x1008de11
mov eax, dword [ecx]
add ecx, 8
mov dword [esp + 0x24], eax
mov dword [esp + 0x38], ecx
test eax, eax
jle 0x1008de11
mov esi, dword [esp + 0x14]
mov edi, eax
mov ebx, ecx
mov edx, dword [ebx]
mov ecx, esi
call fcn.1008b7a0
test eax, eax
jne 0x1008de05
dec edi
add ebx, 0x14
test edi, edi
jg 0x1008ddf0
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x28], 0
je 0x1008e153
mov ecx, dword [esp + 0x20]
test ecx, ecx
je 0x1008df36
test dword [esi + 4], 0x1000000
mov eax, dword [ebx + 0x1c]
mov dword [esp + 0x30], eax
je 0x1008de3d
cmp ecx, dword [esi + 0x2c]
je 0x1008de5c
push 0x190e2
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pWin0___ExprUseYWin_pExpr___pWinpExpr__y.pWin_
call fcn.101aa953
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov ecx, dword [esp + 0x20]
cmp byte [edi + 0xd0], 2
jae 0x1008de8b
test eax, eax
je 0x1008de6e
mov edx, dword [eax + 0x48]
jmp 0x1008de70
xor edx, edx
push dword [esp + 0x1c]
push ecx
mov ecx, edi
call fcn.100fcec0
mov eax, dword [edi]
add esp, 8
cmp byte [eax + 0x57], 0
jne 0x1008d5bd
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 8]
test edi, edi
je 0x1008dec0
mov esi, dword [edi]
add edi, 8
test esi, esi
jle 0x1008dec0
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
mov ecx, ebx
call fcn.1008b7a0
test eax, eax
jne 0x1008deb8
dec esi
add edi, 0x14
test esi, esi
jg 0x1008dea3
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0xc]
test edi, edi
je 0x1008deed
mov esi, dword [edi]
add edi, 8
test esi, esi
jle 0x1008deed
mov ebx, dword [esp + 0x14]
mov edx, dword [edi]
mov ecx, ebx
call fcn.1008b7a0
test eax, eax
jne 0x1008dee9
dec esi
add edi, 0x14
test esi, esi
jg 0x1008ded4
mov ebx, dword [esp + 0x18]
mov edi, dword [esp + 0x20]
mov edx, dword [edi + 0x28]
test edx, edx
je 0x1008df01
mov ecx, dword [esp + 0x14]
call fcn.1008b630
mov ecx, dword [esp + 0x30]
mov edx, edi
call fcn.100fe820
or dword [ebx + 0x18], 0x8000
mov ecx, dword [ebx + 0x18]
or ecx, dword [esp + 0x4c]
mov eax, dword [esp + 0x34]
mov dword [ebx + 0x18], ecx
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
test dword [esi + 4], 0x1000000
mov byte [esi], 0xa8
mov byte [esi + 2], 0
je 0x1008df59
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x1008df59
mov ecx, dword [esp + 0x14]
call fcn.1008b630
mov dword [esp + 0x14], ebx
nop dword [eax]
cmp byte [esi], 0xa8
lea eax, [esp + 0x70]
mov dword [esp + 0x68], eax
xorps xmm0, xmm0
mov eax, dword [edi]
mov dword [esp + 0x70], eax
mov eax, dword [ebx + 4]
mov dword [esp + 0x50], 0
movlpd qword [esp + 0x60], xmm0
movlpd qword [esp + 0x78], xmm0
movlpd qword [esp + 0x80], xmm0
mov dword [esp + 0x54], 0x1009bce0
mov dword [esp + 0x58], 0x1009bbd0
mov dword [esp + 0x5c], 0x1009bc90
mov dword [esp + 0x74], eax
je 0x1008dfc9
push 0x1ac5e
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pExpr__opTK_AGG_FUNCTION
call fcn.101aa953
add esp, 0xc
test dword [esi + 4], 0x1000
je 0x1008dfe9
push 0x1ac5f
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXList_pExpr_
call fcn.101aa953
add esp, 0xc
mov ebx, dword [esi + 0x14]
test ebx, ebx
je 0x1008e01b
mov edi, dword [ebx]
add ebx, 8
test edi, edi
jle 0x1008e017
nop dword [eax]
mov edx, dword [ebx]
lea ecx, [esp + 0x50]
call fcn.1008b7a0
test eax, eax
jne 0x1008e017
dec edi
add ebx, 0x14
test edi, edi
jg 0x1008e000
mov edi, dword [esp + 0x10]
test dword [esi + 4], 0x1000000
je 0x1008e037
mov eax, dword [esi + 0x2c]
mov edx, dword [eax + 0x28]
test edx, edx
je 0x1008e037
lea ecx, [esp + 0x50]
call fcn.1008b630
mov ebx, dword [edi]
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x30], ecx
test ebx, ebx
je 0x1008e0a0
mov eax, dword [ebx + 0xc]
mov dword [esp + 0x24], eax
test eax, eax
je 0x1008e0a0
mov eax, dword [0x1024512c]
test eax, eax
jne 0x1008e078
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 [esp + 0x24]
call eax
add esp, 4
test eax, eax
jne 0x1008e09c
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 [esp + 0x30]
test ecx, ecx
je 0x1008e0ad
mov edx, ecx
mov ecx, ebx
call fcn.10030890
test byte [esp + 0x64], 1
mov ebx, dword [esp + 0x14]
jne 0x1008e0d2
cmp word [esp + 0x64], 0
je 0x1008e0d2
inc byte [esi + 2]
mov ebx, dword [ebx + 0xc]
mov dword [esp + 0x14], ebx
test ebx, ebx
jne 0x1008df60
mov eax, dword [esp + 0x1c]
test eax, eax
jne 0x1008e0fe
cmp byte [edi + 0xd0], 2
jae 0x1008e0fe
push 0x190fe
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pDef_0__IN_RENAME_OBJECT
call fcn.101aa953
mov eax, dword [esp + 0x28]
add esp, 0xc
test ebx, ebx
je 0x1008e145
test eax, eax
je 0x1008e145
mov eax, dword [eax + 4]
mov ecx, dword [0x102549bc]
test eax, 0x1000
je 0x1008e122
add ecx, 0x19102
mov dword [0x102549bc], ecx
test eax, 0x8000000
je 0x1008e135
add ecx, 0x19103
mov dword [0x102549bc], ecx
xor eax, 0xffffefff
and eax, 0x8001000
or eax, 0x10
or dword [ebx + 0x18], eax
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x18]
or ecx, dword [esp + 0x4c]
mov dword [ebx + 0x18], ecx
mov eax, dword [esp + 0x34]
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
cmp dl, 0x14
jne case.0x1008d55b.23
mov eax, dword [0x102549bc]
add eax, 0x19112
jmp 0x1008e18c
mov eax, dword [0x102549bc]
cmp dl, 0x31
jne 0x1008e191
add eax, 0x19115
mov dword [0x102549bc], eax
test dword [esi + 4], 0x1000
je case.0x1008d55b.29
mov ecx, dword [ebx + 0x10]
mov dword [esp + 0x34], ecx
mov ecx, dword [ebx + 0x18]
test cl, 4
je 0x1008e1b7
add eax, 0x19118
mov dword [0x102549bc], eax
test cl, 2
je 0x1008e1c6
add eax, 0x19119
mov dword [0x102549bc], eax
mov edx, ecx
and edx, 0x20
je 0x1008e1d7
add eax, 0x1911a
mov dword [0x102549bc], eax
mov edi, ecx
and edi, 8
je 0x1008e1e8
add eax, 0x1911b
mov dword [0x102549bc], eax
test cl, 0x2e
je 0x1008e251
test edx, edx
je 0x1008e1fc
mov eax, str.index_expressions
jmp 0x1008e217
test cl, 4
je 0x1008e208
mov eax, str.CHECK_constraints
jmp 0x1008e217
test edi, edi
mov eax, str.generated_columns
mov ecx, str.partial_index_WHERE_clauses
cmove eax, ecx
mov edi, dword [esp + 0x10]
push eax
push str.subqueries
push str._s_prohibited_in__s
push edi
call fcn.10037890
mov byte [esi], 0x79
add esp, 0x10
mov edx, dword [edi]
mov eax, esi
test byte [eax + 4], 3
jne 0x1008e243
mov ecx, dword [eax + 0x24]
test ecx, ecx
jg 0x1008e24c
mov eax, dword [eax + 0xc]
test eax, eax
jne 0x1008e236
jmp 0x1008e261
mov dword [edx + 0x44], ecx
jmp 0x1008e261
mov edx, dword [esi + 0x14]
mov ecx, dword [esp + 0x14]
call fcn.1008b7b0
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x34]
cmp eax, dword [ebx + 0x10]
jle 0x1008e288
push 0x19121
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pNC__nRef_nRef
call fcn.101aa953
mov eax, dword [esp + 0x40]
add esp, 0xc
cmp eax, dword [ebx + 0x10]
je 0x1008d5bd
or dword [esi + 4], 0x40
or dword [ebx + 0x18], 0x40
jmp 0x1008d5bd
mov ecx, dword [ebx + 0x18]
mov eax, dword [0x102549bc]
test cl, 4
je 0x1008e2b2
add eax, 0x1912a
mov dword [0x102549bc], eax
test cl, 2
je 0x1008e2c1
add eax, 0x1912b
mov dword [0x102549bc], eax
mov edx, ecx
and edx, 0x20
je 0x1008e2d2
add eax, 0x1912c
mov dword [0x102549bc], eax
mov edi, ecx
and edi, 8
je 0x1008e2e3
add eax, 0x1912d
mov dword [0x102549bc], eax
test cl, 0x2e
je case.0x1008d55b.29
mov ebx, str.partial_index_WHERE_clauses
test edx, edx
je 0x1008e2fc
mov eax, str.index_expressions
jmp 0x1008e312
test cl, 4
je 0x1008e308
mov eax, str.CHECK_constraints
jmp 0x1008e312
test edi, edi
mov eax, str.generated_columns
cmove eax, ebx
mov edi, dword [esp + 0x10]
push eax
push str.parameters
push str._s_prohibited_in__s
push edi
call fcn.10037890
mov byte [esi], 0x79
add esp, 0x10
mov ecx, dword [edi]
nop
test byte [esi + 4], 3
jne 0x1008e33d
mov eax, dword [esi + 0x24]
test eax, eax
jg 0x1008e349
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x1008e330
jmp 0x1008d5bd
mov dword [ecx + 0x44], eax
jmp 0x1008d5bd
mov ecx, dword [esi + 0x10]
call fcn.1008fb60
test dword [esi + 4], 0x4000
mov edi, eax
je 0x1008e37b
push 0x19135
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._ExprHasProperty_pExpr__EP_Reduced_
call fcn.101aa953
add esp, 0xc
test edi, edi
je 0x1008e3d8
mov al, byte [edi]
cmp al, 0x3b
je 0x1008e38d
cmp al, 0xaa
jne case.0x1008d55b.22
push edi
push dword [esp + 0x18]
call fcn.1008d470
add esp, 8
cmp eax, 2
jne 0x1008e3b4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x80]
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
cmp byte [edi], 0xaa
jne case.0x1008d55b.22
mov al, byte [esi]
mov ecx, dword [esp + 0x8c]
pop edi
mov byte [esi + 2], al
xor eax, eax
mov byte [esi], 0xaf
pop esi
pop ebx
xor ecx, esp
call fcn.1018e7c9
mov esp, ebp
pop ebp
ret
push 0x19138
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push 0x101f935c
call fcn.101aa953
add esp, 0xc
mov edi, dword [esp + 0x10]
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x1008d5bd
cmp dword [esi + 0xc], 0
jne 0x1008e41c
push 0x1914c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pExpr__pLeft_0
call fcn.101aa953
add esp, 0xc
mov ebx, dword [esi + 0xc]
mov al, byte [ebx]
cmp al, 0xb0
jne 0x1008e428
mov al, byte [ebx + 2]
cmp al, 0xb1
jne 0x1008e457
test dword [ebx + 4], 0x1000
je 0x1008e44c
push 0x19663
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXList_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
jmp 0x1008e491
cmp al, 0x8a
jne 0x1008e489
test dword [ebx + 4], 0x1000
jne 0x1008e47b
push 0x19666
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXSelect_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
mov dword [esp + 0x18], eax
jmp 0x1008e491
mov dword [esp + 0x18], 1
cmp byte [esi], 0x30
jne 0x1008e539
test dword [esi + 4], 0x1000
je 0x1008e4ba
push 0x1914f
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXList_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [esi + 0x14]
mov ebx, dword [eax + 8]
mov al, byte [ebx]
cmp al, 0xb0
jne 0x1008e4c9
mov al, byte [ebx + 2]
cmp al, 0xb1
jne 0x1008e4f4
test dword [ebx + 4], 0x1000
je 0x1008e4ed
push 0x19663
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXList_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
jmp 0x1008e527
cmp al, 0x8a
jne 0x1008e522
test dword [ebx + 4], 0x1000
jne 0x1008e518
push 0x19666
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXSelect_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x1008e527
mov eax, 1
cmp eax, dword [esp + 0x18]
jne 0x1008e5ca
mov eax, dword [esi + 0x14]
mov ebx, dword [eax + 0x1c]
jmp 0x1008e559
cmp dword [esi + 0x10], 0
jne 0x1008e556
push 0x19155
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pExpr__pRight_0
call fcn.101aa953
add esp, 0xc
mov ebx, dword [esi + 0x10]
mov al, byte [ebx]
cmp al, 0xb0
jne 0x1008e562
mov al, byte [ebx + 2]
cmp al, 0xb1
jne 0x1008e58d
test dword [ebx + 4], 0x1000
je 0x1008e586
push 0x19663
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXList_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x14]
mov eax, dword [eax]
jmp 0x1008e5c0
cmp al, 0x8a
jne 0x1008e5bb
test dword [ebx + 4], 0x1000
jne 0x1008e5b1
push 0x19666
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.ExprUseXSelect_pExpr_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x14]
mov eax, dword [eax + 0x1c]
mov eax, dword [eax]
jmp 0x1008e5c0
mov eax, 1
cmp dword [esp + 0x18], eax
je 0x1008d5bd
mov al, byte [esi]
cmp al, 0x35
jne 0x1008e5df
add dword [0x102549bc], 0x19159
jmp 0x1008e663
cmp al, 0x34
jne 0x1008e5f2
add dword [0x102549bc], 0x1915a
jmp 0x1008e663
cmp al, 0x38
jne 0x1008e605
add dword [0x102549bc], 0x1915b
jmp 0x1008e663
cmp al, 0x37
jne 0x1008e615
add dword [0x102549bc], 0x1915c
jmp 0x1008e663
cmp al, 0x36
jne 0x1008e625
add dword [0x102549bc], 0x1915d
jmp 0x1008e663
cmp al, 0x39
jne 0x1008e635
add dword [0x102549bc], 0x1915e
jmp 0x1008e663
cmp al, 0x2d
jne 0x1008e645
add dword [0x102549bc], 0x1915f
jmp 0x1008e663
cmp al, 0xab
jne 0x1008e655
add dword [0x102549bc], 0x19160
jmp 0x1008e663
cmp al, 0x30
jne 0x1008e663
add dword [0x102549bc], 0x19161
push str.row_value_misused
push edi
call fcn.10037890
mov ecx, dword [edi]
add esp, 8
test byte [esi + 4], 3
jne 0x1008e684
mov eax, dword [esi + 0x24]
test eax, eax
jg 0x1008e349
mov esi, dword [esi + 0xc]
test esi, esi
jne 0x1008e673
jmp 0x1008d5bd