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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
mov ebx, ecx
push esi
push edi
mov edi, edx
mov dword [esp + 0x18], ebx
mov eax, dword [ebx + 0x14]
mov dword [esp + 0xc], edi
mov esi, dword [eax + 0x3c]
test esi, esi
je 0x1005a1c8
mov eax, dword [0x1024512c]
test eax, eax
jne 0x1005a1a7
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 0x1005a1c8
push 0x106e3
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.cursorHoldsMutex_p_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 8]
mov ecx, dword [ebx + 0x14]
mov eax, dword [eax]
cmp eax, dword [ecx + 4]
je 0x1005a1ec
push 0x11aaf
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.cursorOwnsBtShared_pCur_
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 8]
mov eax, dword [eax]
mov esi, dword [eax + 0xc]
test esi, esi
je 0x1005a23e
mov eax, dword [0x1024512c]
test eax, eax
jne 0x1005a21d
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 0x1005a23e
push 0x11ab0
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.sqlite3_mutex_held_pCur__pBtree__db__mutex_
call fcn.101aa953
add esp, 0xc
cmp dword [ebp + 0x10], 0
jne 0x1005a25b
push 0x11ab1
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pRes
call fcn.101aa953
add esp, 0xc
cmp dword [ebx + 0x70], 0
je 0x1005a278
push 0x11ab2
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__pKeyInfo0
call fcn.101aa953
add esp, 0xc
cmp byte [ebx], 0
jne 0x1005a337
cmp byte [ebx + 0x45], 0
jne 0x1005a29e
push 0x11ab3
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__eState_CURSOR_VALID__pCur__curIntKey_0
call fcn.101aa953
add esp, 0xc
cmp byte [ebx], 0
jne 0x1005a337
mov dl, byte [ebx + 1]
test dl, 2
je 0x1005a337
mov ecx, dword [ebx + 0x20]
mov esi, dword [ebp + 8]
mov eax, dword [ebx + 0x24]
mov edi, dword [ebp + 0xc]
cmp ecx, esi
jne 0x1005a2d9
cmp eax, edi
jne 0x1005a2db
mov eax, dword [ebp + 0x10]
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, edi
jg 0x1005a333
jl 0x1005a2e3
cmp ecx, esi
jae 0x1005a333
test dl, 8
jne 0x1005a37d
add ecx, 1
adc eax, 0
cmp ecx, esi
jne 0x1005a333
cmp eax, edi
jne 0x1005a333
mov eax, dword [ebp + 0x10]
xor edx, edx
mov ecx, ebx
mov dword [eax], 0
call fcn.1005b2d0
test eax, eax
jne 0x1005a32a
mov ecx, ebx
call fcn.10058660
cmp dword [ebx + 0x20], esi
jne 0x1005a333
cmp dword [ebx + 0x24], edi
jne 0x1005a333
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp eax, 0x65
jne 0x1005a6f7
mov edi, dword [esp + 0xc]
mov eax, dword [ebx + 8]
mov ecx, ebx
add dword [eax + 0x20], 1
adc dword [eax + 0x24], 0
call fcn.10059850
test eax, eax
je 0x1005a38f
cmp eax, 0x10
jne 0x1005a6f7
cmp dword [ebx + 0x40], 0
je 0x1005a37d
mov eax, dword [ebx + 0x74]
cmp word [eax + 0x18], 0
je 0x1005a37d
push 0x11adb
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__pgnoRoot0__pCur__pPage__nCell0
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov dword [eax], 0xffffffff
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [ebx + 0x74], 0
jne 0x1005a3ac
push 0x11ae1
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__pPage
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x74]
cmp byte [eax], 0
jne 0x1005a3cb
push 0x11ae2
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__pPage__isInit
call fcn.101aa953
add esp, 0xc
cmp byte [ebx], 0
je 0x1005a3e7
push 0x11ae3
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__eStateCURSOR_VALID
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebx + 0x74]
cmp word [eax + 0x18], 0
ja 0x1005a408
push 0x11ae4
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__pPage__nCell___0
call fcn.101aa953
add esp, 0xc
cmp byte [ebx + 0x44], 0
je 0x1005a430
mov eax, dword [ebx + 0x78]
mov al, byte [eax + 1]
cmp al, byte [ebx + 0x45]
je 0x1005a430
push 0x11ae5
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__iPage0__pCur__apPage_0___intKeypCur__curIntKey
call fcn.101aa953
add esp, 0xc
cmp byte [ebx + 0x45], 0
jne 0x1005a44d
push 0x11ae6
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__curIntKey
call fcn.101aa953
add esp, 0xc
mov eax, 1
sub eax, edi
mov dword [esp + 0x1c], eax
nop dword [eax + eax]
mov ebx, dword [ebx + 0x74]
cmp word [ebx + 0x18], 0
ja 0x1005a481
push 0x11af4
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pPage__nCell_0
call fcn.101aa953
add esp, 0xc
cmp byte [ebx + 1], 0
jne 0x1005a49e
push 0x11af5
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pPage__intKey
call fcn.101aa953
add esp, 0xc
movzx edi, word [ebx + 0x18]
xor esi, esi
mov eax, dword [esp + 0xc]
dec edi
mov dword [esp + 0x14], esi
mov dword [esp + 0x10], edi
test eax, eax
je 0x1005a4d1
cmp eax, 1
je 0x1005a4d1
push 0x11af8
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.biasRight0__biasRight1
call fcn.101aa953
add esp, 0xc
mov ecx, dword [esp + 0x1c]
mov esi, edi
sar esi, cl
nop dword [eax]
mov eax, dword [ebx + 0x40]
mov ax, word [eax + esi*2]
mov ch, al
mov cl, ah
movzx eax, word [ebx + 0x1a]
movzx ecx, cx
and ecx, eax
add ecx, dword [ebx + 0x44]
cmp byte [ebx + 2], 0
je 0x1005a514
cmp byte [ecx], 0x80
jb 0x1005a513
mov eax, dword [ebx + 0x3c]
inc ecx
cmp ecx, eax
jae 0x1005a66a
cmp byte [ecx], 0x80
jae 0x1005a505
inc ecx
lea edx, [esp + 0x20]
call fcn.10038ba0
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
mov edi, dword [esp + 0x20]
cmp eax, edx
jg 0x1005a549
jl 0x1005a535
mov ecx, dword [ebp + 8]
cmp edi, ecx
jae 0x1005a54c
mov edi, dword [esp + 0x10]
lea edx, [esi + 1]
mov dword [esp + 0x14], edx
cmp edx, edi
jle 0x1005a56d
or edi, 0xffffffff
jmp 0x1005a597
mov ecx, dword [ebp + 8]
cmp eax, edx
jl 0x1005a5e9
jg 0x1005a55e
cmp edi, ecx
jbe 0x1005a5eb
mov edx, dword [esp + 0x14]
lea edi, [esi - 1]
mov dword [esp + 0x10], edi
cmp edx, edi
jg 0x1005a592
lea esi, [edi + edx]
test esi, esi
jns 0x1005a58b
push 0x11b19
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.lwrupr_0
call fcn.101aa953
add esp, 0xc
sar esi, 1
jmp 0x1005a4e0
mov edi, 1
mov eax, dword [esp + 0x10]
inc eax
cmp edx, eax
je 0x1005a5bd
cmp byte [ebx + 8], 0
je 0x1005a5bd
push 0x11b1c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.lwrupr1___pPage__leaf
call fcn.101aa953
add esp, 0xc
cmp byte [ebx], 0
jne 0x1005a5d9
push 0x11b1d
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pPage__isInit
call fcn.101aa953
add esp, 0xc
cmp byte [ebx + 8], 0
jne 0x1005a67d
mov esi, dword [esp + 0x14]
jmp 0x1005a61e
cmp edi, ecx
jne 0x1005a5f1
cmp eax, edx
je 0x1005a60c
push 0x11b0c
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.nCellKeyintKey
call fcn.101aa953
mov eax, dword [esp + 0x30]
add esp, 0xc
mov ecx, dword [esp + 0x18]
mov word [ecx + 0x46], si
cmp byte [ebx + 8], 0
jne 0x1005a6dc
movzx eax, word [ebx + 0x18]
cmp esi, eax
jl 0x1005a633
movzx ecx, byte [ebx + 9]
mov eax, dword [ebx + 0x38]
mov edx, dword [ecx + eax + 8]
jmp 0x1005a64d
mov eax, dword [ebx + 0x40]
mov ax, word [eax + esi*2]
mov ch, al
mov cl, ah
movzx eax, word [ebx + 0x1a]
movzx ecx, cx
and ecx, eax
mov eax, dword [ebx + 0x38]
mov edx, dword [ecx + eax]
mov ebx, dword [esp + 0x18]
mov ecx, ebx
bswap edx
mov word [ebx + 0x46], si
call fcn.10059510
mov esi, eax
test esi, esi
je 0x1005a460
jmp 0x1005a6b0
mov edx, ebx
mov ecx, 0x11b00
call fcn.100508e0
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ebx, dword [esp + 0x18]
mov ecx, dword [ebx + 0x74]
mov ax, word [ebx + 0x46]
cmp ax, word [ecx + 0x18]
jb 0x1005a6a5
push 0x11b1f
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str.pCur__ix_pCur__pPage__nCell
call fcn.101aa953
add esp, 0xc
mov eax, dword [ebp + 0x10]
mov word [ebx + 0x46], si
xor esi, esi
mov dword [eax], edi
xor eax, eax
test byte [ebx + 1], 4
mov word [ebx + 0x32], ax
je 0x1005a6d3
push 0x11b31
push str.L:DevGetDouYinCookieClientDll_srcLibrary_sqlite_sqlite3.c
push str._pCur__curFlags__BTCF_ValidOvfl_0
call fcn.101aa953
add esp, 0xc
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
or byte [ecx + 1], 2
mov dword [ecx + 0x24], eax
xor eax, eax
mov word [ecx + 0x32], ax
mov eax, dword [ebp + 0x10]
mov dword [ecx + 0x20], edi
mov dword [eax], 0
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret