Function at 0x1010c9e0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x24
mov eax, dword [ebp + 0xc]
push ebx
mov ebx, edx
mov dword [esp + 0x10], eax
xor edx, edx
mov dword [esp + 0x24], ebx
xor eax, eax
mov dword [esp + 0x20], ecx
push esi
push edi
mov dword [esp + 0x20], edx
mov dword [esp + 0x10], edx
mov dword [esp + 0x14], eax
mov dword [ebx], eax
call fcn.10108160
test eax, eax
jne 0x1010d41a
mov ebx, dword [ebp + 8]
cmp byte [0x102450d4], al
jne 0x1010ca2b
xor edi, edi
jmp 0x1010ca4b
test ebx, 0x8000
je 0x1010ca37
xor edi, edi
jmp 0x1010ca4b
mov edi, 1
test ebx, 0x10000
jne 0x1010ca4b
movzx edi, byte [0x102450d5]
mov dword [esp + 0x1c], edi
test ebx, 0x40000
je 0x1010ca5f
and ebx, 0xfffdffff
jmp 0x1010ca6e
cmp dword [0x10245198], 0
je 0x1010ca6e
or ebx, 0x20000
push 0
and ebx, 0xfff600e7
push 0x218
mov dword [ebp + 8], ebx
call fcn.100302f0
mov esi, eax
add esp, 8
test esi, esi
je 0x1010d3aa
push 0x218
push 0
push esi
call fcn.10190ee0
add esp, 0xc
mov eax, esi
mov dword [esp + 0xc], eax
test edi, edi
je 0x1010cacc
mov ecx, 1
call fcn.1002f780
mov dword [esi + 0xc], eax
test eax, eax
jne 0x1010cacc
push esi
call fcn.10030700
add esp, 4
xor edi, edi
push edi
jmp 0x1010d3ad
mov edi, dword [esi + 0xc]
test edi, edi
je 0x1010cafe
mov eax, dword [0x10245120]
test eax, eax
jne 0x1010caf8
push 0x6bee
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3GlobalConfig.mutex.xMutexEnter
call fcn.101aa953
mov eax, dword [0x10245120]
add esp, 0xc
push edi
call eax
add esp, 4
mov eax, ebx
mov dword [esi + 0x14], 2
and eax, 0x2000000
mov byte [esi + 0x61], 0x6d
neg eax
mov dword [esi + 0x130], 1
lea edi, [esi + 0x1ac]
sbb eax, eax
and eax, 0xffffff00
add eax, 0xff
mov dword [esi + 0x48], eax
lea eax, [esi + 0x1c8]
mov dword [esi + 0x10], eax
xor eax, eax
mov word [esi + 0x134], ax
movups xmm0, xmmword [0x101eeb78]
movups xmmword [esi + 0x78], xmm0
movups xmm0, xmmword [0x101eeb88]
movups xmmword [esi + 0x88], xmm0
movups xmm0, xmmword [0x101eeb98]
mov byte [esi + 0x55], 1
mov byte [esi + 0x5a], 0xff
movups xmmword [esi + 0x98], xmm0
mov dword [esi + 0xa4], eax
mov eax, dword [0x10245178]
mov ecx, dword [0x1024517c]
or dword [esi + 0x20], 0xe00480e0
mov dword [esi + 0x30], eax
mov eax, dword [esi + 0x24]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x64], 0
mov dword [esi + 0xb8], 0x10246088
mov dword [esi + 0x24], eax
test edi, edi
jne 0x1010cbc2
push 0x88be
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pNew_0
call fcn.101aa953
add esp, 0xc
mov dword [edi + 8], 0
mov dword [edi + 4], 0
mov dword [edi], 0
mov dword [edi + 0xc], 0
lea edi, [esi + 0x180]
test edi, edi
jne 0x1010cbfe
push 0x88be
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pNew_0
call fcn.101aa953
add esp, 0xc
push 0
push 0x101092a0
push 0
push 1
mov edx, 0x101ef750
mov dword [edi + 8], 0
mov ecx, esi
mov dword [edi + 4], 0
mov dword [edi], 0
mov dword [edi + 0xc], 0
call fcn.1010bf90
push 0
push 0x101092a0
push 0
push 3
mov edx, 0x101ef750
mov ecx, esi
call fcn.1010bf90
push 0
push 0x101092a0
push 0
push 2
mov edx, 0x101ef750
mov ecx, esi
call fcn.1010bf90
push 0
push 0x10109400
push 0
push 1
mov edx, str.NOCASE
mov ecx, esi
call fcn.1010bf90
add esp, 0x40
mov edx, str.RTRIM
mov ecx, esi
push 0
push 0x10109340
push 0
push 1
call fcn.1010bf90
add esp, 0x10
mov edi, esi
cmp byte [esi + 0x57], 0
jne 0x1010cf1a
mov dword [esi + 0x3c], ebx
mov eax, 1
and ebx, 7
mov ecx, ebx
shl eax, cl
cmp eax, 2
jne 0x1010cdee
add dword [0x102549bc], 0x2a787
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x14]
mov ecx, dword [esp + 0x18]
push eax
lea eax, [esp + 0x14]
push eax
lea eax, [ebp + 8]
push esi
push eax
call fcn.1010c300
mov edi, eax
add esp, 0x10
test edi, edi
je 0x1010cfa3
cmp edi, 7
jne 0x1010ccf5
mov ecx, esi
call fcn.10031340
mov edx, dword [esp + 0x10]
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x14]
xor ecx, ecx
test ebx, ebx
mov eax, 0x101f536c
push ebx
cmove eax, ecx
push eax
push edi
push esi
call fcn.10037770
add esp, 0x10
mov edi, esi
test ebx, ebx
je 0x1010cf1a
cmp dword [0x102450d0], 0
je 0x1010cf10
mov edi, dword [0x10254c90]
test edi, edi
je 0x1010cd65
mov eax, dword [0x10245120]
test eax, eax
jne 0x1010cd5f
push 0x6bee
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3GlobalConfig.mutex.xMutexEnter
call fcn.101aa953
mov eax, dword [0x10245120]
add esp, 0xc
push edi
call eax
add esp, 4
push ebx
call dword [0x102450fc]
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
jns 0x1010cd8e
push 0x59b4
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.N_0
call fcn.101aa953
add esp, 0xc
mov edi, dword [0x10254c90]
test edi, edi
je 0x1010ce59
mov eax, dword [0x1024512c]
test eax, eax
jne 0x1010cdc1
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 edi
call eax
add esp, 4
test eax, eax
jne 0x1010ce59
push 0x59b7
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3_mutex_held_statMutex_op____sqlite3Pcache1Mutex___:_sqlite3MallocMutex___
call fcn.101aa953
mov ebx, esi
add esp, 0xc
mov dword [esp + 0xc], ebx
jmp 0x1010ce5b
cmp eax, 4
jne 0x1010ce02
add dword [0x102549bc], 0x2a788
jmp 0x1010ccc0
cmp eax, 0x40
jne 0x1010ce16
add dword [0x102549bc], 0x2a789
jmp 0x1010ccc0
test al, 0x46
jne 0x1010ccc0
cmp dword [0x102451bc], 0
je 0x1010ce31
add dword [0x102549bc], 0x2a8d9
push 0x101f8cf4
push 0x2a78b
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10033a50
add esp, 0x14
mov edi, 0x15
jmp 0x1010ccfd
mov ebx, esi
mov eax, dword [esp + 0x18]
mov edi, esi
sub dword [0x10254a90], eax
mov eax, dword [0x10254c90]
mov dword [esp + 0x18], eax
test eax, eax
je 0x1010cec1
mov eax, dword [0x1024512c]
test eax, eax
jne 0x1010ce99
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 + 0x18]
call eax
add esp, 4
test eax, eax
jne 0x1010cec1
push 0x59b7
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3_mutex_held_statMutex_op____sqlite3Pcache1Mutex___:_sqlite3MallocMutex___
call fcn.101aa953
add esp, 0xc
mov dword [esp + 0xc], ebx
mov eax, dword [esp + 0x14]
dec dword [0x10254ab4]
push eax
call dword [0x102450f4]
mov ebx, dword [0x10254c90]
add esp, 4
test ebx, ebx
je 0x1010cf0a
mov eax, dword [0x10245128]
test eax, eax
jne 0x1010cf04
push 0x6c08
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3GlobalConfig.mutex.xMutexLeave
call fcn.101aa953
mov eax, dword [0x10245128]
add esp, 0xc
push ebx
call eax
add esp, 4
mov ebx, dword [esp + 0xc]
jmp 0x1010cf1c
push ebx
call dword [0x102450f4]
add esp, 4
mov ebx, esi
cmp dword [esi + 0xc], 0
jne 0x1010cf49
cmp dword [esp + 0x1c], 0
je 0x1010cf49
cmp byte [0x102450d5], 0
je 0x1010cf49
push 0x2a7ea
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db__mutex_0__isThreadsafe0__sqlite3GlobalConfig.bFullMutex0
call fcn.101aa953
add esp, 0xc
mov esi, dword [esi + 0xc]
test esi, esi
je 0x1010d395
mov eax, dword [0x10245128]
test eax, eax
jne 0x1010cf79
push 0x6c08
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3GlobalConfig.mutex.xMutexLeave
call fcn.101aa953
mov eax, dword [0x10245128]
add esp, 0xc
push esi
call eax
add esp, 4
push ebx
call fcn.1010bd80
add esp, 4
mov ebx, eax
cmp bl, 7
jne 0x1010d3d7
xor edx, edx
mov ecx, edi
call fcn.101097c0
xor edi, edi
jmp 0x1010d3df
mov eax, dword [ebp + 8]
mov edx, dword [esp + 0x10]
or eax, 0x100
mov ecx, dword [esi]
push eax
mov eax, dword [esi + 0x10]
push 0
add eax, 4
mov dword [esp + 0x28], edx
push eax
push esi
call fcn.100548e0
add esp, 0x10
test eax, eax
je 0x1010d01e
cmp eax, 0xc0a
jne 0x1010d009
cmp dword [0x102451bc], 0
je 0x1010cfe6
add dword [0x102549bc], 0x2a8ea
push 0x101f8cf4
push 0x2a79b
push 0x10236394
push str._s_at_line__d_of___.10s_
push 7
call fcn.10033a50
add esp, 0x14
mov eax, 7
mov ecx, eax
mov edx, eax
mov dword [esi + 0x40], ecx
mov ecx, esi
call fcn.100376c0
mov edi, esi
jmp 0x1010cf1a
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 4]
call fcn.100501b0
mov edx, dword [esi + 0x10]
mov ecx, esi
mov edx, dword [edx + 4]
call fcn.100b35d0
mov ecx, dword [esi + 0x10]
mov dword [ecx + 0xc], eax
cmp byte [esi + 0x57], 0
jne 0x1010d052
mov eax, dword [esi + 0x10]
mov ecx, esi
mov edx, dword [eax + 0xc]
mov dl, byte [edx + 0x4d]
call fcn.100b2c60
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx + 4]
call fcn.10050450
xor edx, edx
mov ecx, esi
call fcn.100b35d0
mov ecx, dword [esi + 0x10]
mov edi, esi
mov dword [ecx + 0x1c], eax
mov eax, dword [esi + 0x10]
mov dword [eax], 0x101f5398
mov eax, dword [esi + 0x10]
mov byte [eax + 8], 3
mov eax, dword [esi + 0x10]
mov dword [eax + 0x10], str.temp
mov eax, dword [esi + 0x10]
mov byte [eax + 0x18], 1
cmp byte [esi + 0x57], 0
mov byte [esi + 0x61], 0x76
jne 0x1010cf1a
cmp dword [esi + 0x124], 0
mov dword [esi + 0x40], 0
je 0x1010d0b8
xor edx, edx
mov ecx, esi
call fcn.100376c0
jmp 0x1010d0bf
mov dword [esi + 0x44], 0xffffffff
mov edi, dword [esi + 0xc]
test edi, edi
je 0x1010d0f1
mov eax, dword [0x10245120]
test eax, eax
jne 0x1010d0eb
push 0x6bee
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3GlobalConfig.mutex.xMutexEnter
call fcn.101aa953
mov eax, dword [0x10245120]
add esp, 0xc
push edi
call eax
add esp, 4
push 0
push 1
push 2
mov edx, str.MATCH
mov ecx, esi
call fcn.100b3090
mov edi, dword [esi + 0xc]
add esp, 0xc
mov ebx, eax
test edi, edi
je 0x1010d13c
mov ecx, dword [0x10245128]
test ecx, ecx
jne 0x1010d136
push 0x6c08
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3GlobalConfig.mutex.xMutexLeave
call fcn.101aa953
mov ecx, dword [0x10245128]
add esp, 0xc
push edi
call ecx
add esp, 4
test ebx, ebx
jne 0x1010d19c
push str.MATCH
call fcn.10033860
add esp, 4
test eax, eax
je 0x1010d195
push fcn.10030700
push ebx
push ebx
push ebx
push ebx
push 0x1010ae50
push eax
push 1
push 2
mov edx, str.MATCH
mov ecx, esi
call fcn.1010aa90
add esp, 0x24
cmp eax, 7
je 0x1010d195
test eax, eax
je 0x1010d19c
push 0x1e556
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.rcSQLITE_NOMEM__rcSQLITE_OK
call fcn.101aa953
add esp, 0xc
jmp 0x1010d19c
mov ecx, esi
call fcn.10031340
mov al, byte [esi + 0x61]
cmp al, 0xba
je 0x1010d20e
cmp al, 0x76
je 0x1010d20e
cmp al, 0x6d
je 0x1010d20e
cmp dword [0x102451bc], 0
je 0x1010d1be
add dword [0x102549bc], 0x877e
push str.invalid
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.10033a50
add esp, 0xc
cmp dword [0x102451bc], 0
je 0x1010d1e5
add dword [0x102549bc], 0x2a8d9
push 0x101f8cf4
push 0x2a4c2
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10033a50
mov eax, 0x15
mov edi, esi
mov ebx, esi
jmp 0x1010d359
cmp byte [esi + 0x57], 0
mov ecx, esi
mov ebx, esi
mov edi, esi
jne 0x1010d326
mov eax, dword [esi + 0x48]
and eax, dword [esi + 0x40]
jne 0x1010d35c
mov ebx, 0x101eda00
nop
mov eax, ecx
mov ecx, edi
mov dword [esp + 0x10], eax
cmp ebx, str.rank
jge 0x1010d258
mov eax, dword [ebx]
push esi
call eax
add esp, 4
add ebx, 4
mov ecx, esi
test eax, eax
je 0x1010d230
mov ebx, ecx
jmp 0x1010d35c
mov ebx, eax
call fcn.100c4060
mov al, byte [esi + 0x61]
cmp al, 0xba
je 0x1010d2cb
cmp al, 0x76
je 0x1010d2cb
cmp al, 0x6d
je 0x1010d2cb
cmp dword [0x102451bc], 0
je 0x1010d281
add dword [0x102549bc], 0x877e
push str.invalid
push str.API_call_with__s_database_connection_pointer
push 0x15
call fcn.10033a50
add esp, 0xc
cmp dword [0x102451bc], 0
je 0x1010d2a8
add dword [0x102549bc], 0x2a8d9
push 0x101f8cf4
push 0x2a4c2
push str.misuse
push str._s_at_line__d_of___.10s_
push 0x15
call fcn.10033a50
add esp, 0x14
jmp 0x1010cf1c
cmp byte [esi + 0x57], 0
jne 0x1010d2ea
mov eax, dword [esi + 0x48]
mov ecx, esi
and eax, dword [esi + 0x40]
mov eax, dword [esp + 0x10]
mov ebx, eax
jne 0x1010cf1c
jmp 0x1010d368
cmp dword [0x102451bc], 0
je 0x1010d2fd
add dword [0x102549bc], 0x2a8ea
push 0x101f8cf4
push 0x2a4c5
push 0x10236394
push str._s_at_line__d_of___.10s_
push 7
call fcn.10033a50
mov ebx, dword [esp + 0x24]
add esp, 0x14
mov edi, esi
jmp 0x1010cf1c
cmp dword [0x102451bc], 0
je 0x1010d339
add dword [0x102549bc], 0x2a8ea
push 0x101f8cf4
push 0x2a4c5
push 0x10236394
push str._s_at_line__d_of___.10s_
push 7
call fcn.10033a50
mov eax, 7
add esp, 0x14
mov edx, eax
mov dword [esi + 0x40], eax
mov ecx, esi
call fcn.100376c0
push dword [0x102450e8]
xor edx, edx
mov ecx, esi
push dword [0x102450e4]
call fcn.10108af0
push 0x3e8
push 0x1010b440
push esi
call fcn.1010b4b0
add esp, 0x14
jmp 0x1010cf1c
push edi
call fcn.1010bd80
add esp, 4
mov ebx, eax
test edi, edi
jne 0x1010cf8a
jmp 0x1010d3b7
mov edi, esi
push edi
call fcn.1010bd80
mov ebx, eax
add esp, 4
cmp bl, 7
je 0x1010cf93
push 0x2a7ee
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.db_0___rc0xff_SQLITE_NOMEM
call fcn.101aa953
add esp, 0xc
test ebx, ebx
je 0x1010d3df
mov byte [edi + 0x61], 0xba
mov eax, dword [esp + 0x2c]
mov ecx, dword [esp + 0x20]
mov dword [eax], edi
test ecx, ecx
je 0x1010d418
nop dword [eax]
mov eax, ecx
cmp byte [eax - 1], 0
lea ecx, [eax - 1]
jne 0x1010d3f0
cmp byte [eax - 2], 0
jne 0x1010d3f0
cmp byte [eax - 3], 0
jne 0x1010d3f0
add eax, 0xfffffffc
cmp byte [eax], 0
jne 0x1010d3f0
push eax
call fcn.10030700
add esp, 4
mov eax, ebx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret