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

Disassembly:
push ebp
mov ebp, esp
push edi
push esi
push ebx
sub esp, 0x7c
mov ebx, eax
mov dword [ebp - 0x4c], edx
mov esi, dword [ebp + 8]
mov edi, dword [ebp + 0xc]
mov eax, dword [ebp + 0x20]
mov dword [ebp - 0x24], eax
mov eax, dword [ebx]
mov dword [ebp - 0x3c], eax
mov edx, dword [eax + 4]
mov dword [ebp - 0x40], edx
cmp byte [ebx + 0x42], 4
jne 0x61c35a2a
mov eax, dword [ebx + 0x3c]
jmp 0x61c35e6d
test byte [ebx + 0x40], 0x20
je 0x61c35a4b
mov edx, dword [ebx + 0x34]
mov ecx, dword [ebp - 0x40]
mov eax, dword [ecx + 8]
mov ecx, ebx
call sym._saveAllCursors.clone.173
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x61c35e6d
cmp dword [ebx + 0x48], 0
jne 0x61c35ac3
mov dword [esp], 0
mov edx, esi
mov ecx, edi
mov eax, dword [ebp - 0x3c]
call sym._invalidateIncrblobCursors
mov eax, esi
mov edx, edi
mov edx, edx
sar edx, 0x1f
mov eax, edx
sub eax, esi
sbb edx, edi
mov ecx, edx
shr ecx, 0x1f
je 0x61c35a9d
test byte [ebx + 0x40], 2
je 0x61c35a9d
mov eax, esi
mov edx, edi
add eax, 0xffffffff
adc edx, 0xffffffff
cmp dword [ebx + 0x14], edx
jne 0x61c35a9d
cmp dword [ebx + 0x10], eax
jne 0x61c35a9d
mov dword [ebp - 0x24], 0xffffffff
jmp 0x61c35af3
cmp dword [ebp - 0x24], 0
jne 0x61c35af3
lea eax, [ebp - 0x24]
mov dword [esp + 0xc], eax
mov eax, dword [ebp + 0x1c]
mov dword [esp + 8], eax
mov dword [esp], esi
mov dword [esp + 4], edi
xor edx, edx
mov eax, ebx
call sym._sqlite3BtreeMovetoUnpacked
jmp 0x61c35ae8
cmp dword [ebp - 0x24], 0
jne 0x61c35af3
lea eax, [ebp - 0x24]
mov dword [esp + 0xc], eax
mov edx, dword [ebp + 0x1c]
mov dword [esp + 8], edx
mov dword [esp], esi
mov dword [esp + 4], edi
mov edx, dword [ebp - 0x4c]
mov eax, ebx
call sym._btreeMoveto
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x61c35e6d
movsx eax, byte [ebx + 0x44]
mov eax, dword [ebx + eax*4 + 0x78]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 0x40]
mov ecx, dword [ecx + 0x50]
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x2c], 0
mov eax, dword [eax + 0x34]
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x30], 0
mov edx, dword [ebp - 0x3c]
movzx edx, byte [edx + 7]
mov dword [ebp - 0x44], edx
mov ecx, dword [ebp + 0x14]
add ecx, dword [ebp + 0x18]
mov dword [ebp - 0x40], ecx
mov eax, dword [ebp - 0x3c]
cmp byte [eax + 3], 0
je 0x61c35b68
cmp ecx, 0x7f
ja 0x61c35b49
mov eax, dword [ebp - 0x48]
mov byte [eax + edx], cl
mov eax, 1
jmp 0x61c35b65
mov edx, dword [ebp - 0x40]
mov ecx, edx
sar ecx, 0x1f
mov dword [ebp - 0x70], edx
mov dword [ebp - 0x6c], ecx
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x44]
call sym._sqlite3PutVarint
movzx eax, al
add dword [ebp - 0x44], eax
mov eax, dword [ebp - 0x48]
add eax, dword [ebp - 0x44]
mov edx, esi
mov ecx, edi
call sym._sqlite3PutVarint
mov ecx, dword [ebp - 0x44]
lea ecx, [eax + ecx]
mov eax, dword [ebp - 0x3c]
cmp byte [eax + 2], 0
je 0x61c35b9b
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x4c], edx
mov edi, dword [ebp + 0x14]
mov dword [ebp - 0x44], edi
mov dword [ebp + 0x14], 0
jmp 0x61c35ba1
mov dword [ebp - 0x40], esi
mov dword [ebp - 0x44], esi
mov eax, dword [ebp - 0x3c]
movzx esi, word [eax + 0xa]
cmp dword [ebp - 0x40], esi
jg 0x61c35bcf
mov edx, dword [ebp - 0x40]
add edx, ecx
mov dword [ebp - 0x64], edx
cmp edx, 3
jg 0x61c35bc1
mov dword [ebp - 0x64], 4
mov edi, dword [ebp - 0x48]
mov dword [ebp - 0x60], edi
mov eax, dword [ebp - 0x40]
mov dword [ebp - 0x58], eax
jmp 0x61c35c0f
mov edx, dword [ebp - 0x3c]
movzx edx, word [edx + 0xc]
mov dword [ebp - 0x58], edx
mov edx, dword [ebp - 0x40]
sub edx, dword [ebp - 0x58]
mov edi, dword [ebp - 0x3c]
mov eax, dword [edi + 0x34]
mov eax, dword [eax + 0x24]
lea edi, [eax - 4]
mov eax, edx
xor edx, edx
div edi
mov eax, dword [ebp - 0x58]
lea eax, [edx + eax]
cmp eax, esi
jg 0x61c35bfe
mov dword [ebp - 0x58], eax
mov eax, dword [ebp - 0x58]
add eax, ecx
lea edx, [eax + 4]
mov dword [ebp - 0x64], edx
add eax, dword [ebp - 0x48]
mov dword [ebp - 0x60], eax
add ecx, dword [ebp - 0x48]
mov dword [ebp - 0x54], ecx
mov dword [ebp - 0x5c], 0
mov dword [ebp - 0x68], ebx
mov ebx, dword [ebp - 0x58]
jmp 0x61c35d5a
test ebx, ebx
jne 0x61c35d0f
mov ebx, dword [ebp - 0x30]
mov ecx, dword [ebp - 0x50]
cmp byte [ecx + 0x11], 0
je 0x61c35c62
mov esi, dword [ebp - 0x30]
inc esi
mov dword [ebp - 0x30], esi
mov edx, esi
mov eax, dword [ebp - 0x50]
call sym._ptrmapPageno
cmp eax, esi
je 0x61c35c3b
mov eax, dword [0x61c75110]
mov edi, dword [ebp - 0x50]
xor edx, edx
div dword [edi + 0x20]
inc eax
cmp esi, eax
je 0x61c35c3b
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x30]
mov dword [esp], eax
lea ecx, [ebp - 0x30]
lea edx, [ebp - 0x2c]
mov eax, dword [ebp - 0x50]
call sym._allocateBtreePage
mov dword [ebp - 0x28], eax
test eax, eax
jne 0x61c35cb9
mov eax, dword [ebp - 0x50]
cmp byte [eax + 0x11], 0
je 0x61c35cb9
cmp ebx, 1
sbb ecx, ecx
add ecx, 4
movzx ecx, cl
lea edx, [ebp - 0x28]
mov dword [esp + 4], edx
mov dword [esp], ebx
mov edx, dword [ebp - 0x30]
call sym._ptrmapPut
cmp dword [ebp - 0x28], 0
je 0x61c35cb9
mov eax, dword [ebp - 0x2c]
call sym._releasePage
cmp dword [ebp - 0x28], 0
je 0x61c35cd2
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x5c]
call sym._releasePage
mov eax, dword [ebp - 0x28]
jmp 0x61c35d71
mov edx, dword [ebp - 0x30]
mov eax, dword [ebp - 0x60]
call sym._sqlite3Put4byte
mov eax, dword [ebp - 0x5c]
call sym._releasePage
mov ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x5c], ecx
mov edi, dword [ecx + 0x38]
mov dword [ebp - 0x60], edi
xor edx, edx
mov eax, edi
call sym._sqlite3Put4byte
mov eax, dword [ebp - 0x2c]
mov eax, dword [eax + 0x38]
add eax, 4
mov dword [ebp - 0x54], eax
mov eax, dword [ebp - 0x50]
mov ebx, dword [eax + 0x24]
sub ebx, 4
mov edx, ebx
cmp ebx, dword [ebp - 0x40]
jle 0x61c35d19
mov edx, dword [ebp - 0x40]
cmp dword [ebp - 0x44], 0
jle 0x61c35d33
cmp edx, dword [ebp - 0x44]
jle 0x61c35d27
mov edx, dword [ebp - 0x44]
mov edi, dword [ebp - 0x54]
mov esi, dword [ebp - 0x4c]
mov ecx, edx
rep movsb byte es:[edi], byte [esi]
jmp 0x61c35d3c
mov edi, dword [ebp - 0x54]
mov ecx, edx
xor eax, eax
rep stosb byte es:[edi], al
sub dword [ebp - 0x40], edx
add dword [ebp - 0x54], edx
sub ebx, edx
sub dword [ebp - 0x44], edx
je 0x61c35d4e
add dword [ebp - 0x4c], edx
jmp 0x61c35d5a
mov edx, dword [ebp + 0x10]
mov dword [ebp - 0x4c], edx
mov ecx, dword [ebp + 0x14]
mov dword [ebp - 0x44], ecx
cmp dword [ebp - 0x40], 0
jg 0x61c35c27
mov ebx, dword [ebp - 0x68]
mov eax, dword [ebp - 0x5c]
call sym._releasePage
xor eax, eax
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x61c35e6a
movsx eax, byte [ebx + 0x44]
add eax, 0x28
mov dx, word [ebx + eax*2]
movzx esi, dx
cmp dword [ebp - 0x24], 0
jne 0x61c35df7
mov edi, dword [ebp - 0x3c]
mov eax, dword [edi + 0x48]
call sym._sqlite3PagerWrite
mov dword [ebp - 0x20], eax
test eax, eax
jne 0x61c35e6a
mov eax, dword [edi + 0x40]
movzx edx, byte [eax + esi*2 + 1]
movzx eax, byte [eax + esi*2]
shl eax, 8
or edx, eax
movzx eax, word [edi + 0x14]
and edx, eax
add edx, dword [edi + 0x38]
cmp byte [edi + 5], 0
jne 0x61c35dcd
mov eax, dword [edx]
mov ecx, dword [ebp - 0x48]
mov dword [ecx], eax
lea ecx, [ebp - 0x1a]
mov eax, dword [ebp - 0x3c]
call sym._clearCell
mov dword [ebp - 0x20], eax
movzx ecx, word [ebp - 0x1a]
lea eax, [ebp - 0x20]
mov dword [esp], eax
mov edx, esi
mov eax, dword [ebp - 0x3c]
call sym._dropCell
cmp dword [ebp - 0x20], 0
jne 0x61c35e6a
jmp 0x61c35e0d
jge 0x61c35e0d
mov edi, dword [ebp - 0x3c]
cmp word [edi + 0x12], 0
je 0x61c35e0d
lea esi, [edx + 1]
mov word [ebx + eax*2], si
movzx esi, si
lea eax, [ebp - 0x20]
mov dword [esp + 0xc], eax
mov dword [esp + 8], 0
mov dword [esp + 4], 0
mov eax, dword [ebp - 0x64]
mov dword [esp], eax
mov ecx, dword [ebp - 0x48]
mov edx, esi
mov eax, dword [ebp - 0x3c]
call sym._insertCell
mov word [ebx + 0x24], 0
cmp dword [ebp - 0x20], 0
jne 0x61c35e6a
mov edx, dword [ebp - 0x3c]
cmp byte [edx + 1], 0
je 0x61c35e6a
and byte [ebx + 0x40], 0xfd
mov eax, ebx
call sym._balance
mov dword [ebp - 0x20], eax
movsx eax, byte [ebx + 0x44]
mov eax, dword [ebx + eax*4 + 0x78]
mov byte [eax + 1], 0
mov byte [ebx + 0x42], 0
mov eax, dword [ebp - 0x20]
add esp, 0x7c
pop ebx
pop esi
pop edi
leave
ret