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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x2c
push ebx
mov ebx, dword [ebp + 8]
mov dword [esp + 0xc], edx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x1c], edi
cmp ebx, 2
jae 0x1007be42
xor ecx, ecx
jmp 0x1007be72
mov eax, 0xcccccccd
lea esi, [ebx - 2]
mul dword [edi + 0x28]
mov eax, esi
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
mov eax, dword [0x102d69fc]
xor ecx, ecx
sub esi, edx
xor edx, edx
div dword [edi + 0x24]
dec eax
cmp esi, eax
sete cl
add ecx, 2
add ecx, esi
mov esi, dword [ebp + 0xc]
cmp ecx, ebx
je 0x1007c14f
mov eax, dword [0x102d69fc]
xor edx, edx
div dword [edi + 0x24]
inc eax
cmp ebx, eax
je 0x1007c14f
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x24]
bswap eax
test eax, eax
jne 0x1007beab
mov eax, 0x65
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
lea eax, [esp + 0x30]
mov edx, ebx
push eax
lea eax, [esp + 0x1c]
mov ecx, edi
push eax
call fcn.10078d20
add esp, 8
test eax, eax
jne 0x1007c1ae
mov eax, dword [esp + 0x18]
cmp al, 1
jne 0x1007befb
push 0x102b63bc
push 0x117a4
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.BasicSQLite.dll_sqlite3_log
add esp, 0x14
mov eax, 0xb
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp al, 2
jne 0x1007bf8c
test esi, esi
jne 0x1007c1ac
push 1
lea eax, [esp + 0x38]
mov ecx, edi
push ebx
push eax
lea edx, [esp + 0x24]
call fcn.1007e060
add esp, 0xc
test eax, eax
jne 0x1007c1ae
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1007c153
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007bf80
mov eax, dword [edx + 0x14]
dec dword [eax + 0x78]
mov ecx, dword [eax + 0x88]
mov dword [edx + 0x10], ecx
mov esi, dword [eax + 0x3c]
mov dword [eax + 0x88], edx
push dword [edx + 4]
mov ecx, dword [edx + 0x18]
mov eax, dword [eax + 0x98]
dec ecx
mov edi, dword [esi]
cdq
push edx
push eax
push 0
push ecx
call fcn.10181160
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
add esp, 0x10
jmp 0x1007c153
mov ecx, edx
call fcn.1006ea70
jmp 0x1007c153
lea eax, [esp + 0x10]
mov edx, ebx
push 0
push eax
mov ecx, edi
call fcn.10079ff0
add esp, 8
test eax, eax
jne 0x1007c1ae
mov ecx, dword [esp + 0x14]
test esi, esi
setne dl
cmovne ecx, eax
dec dl
mov dword [esp + 0x28], ecx
and dl, 2
mov dword [esp + 0x2c], edx
push edx
push ecx
lea eax, [esp + 0x2c]
mov ecx, edi
push eax
lea edx, [esp + 0x2c]
call fcn.1007e060
mov esi, eax
add esp, 0xc
mov dword [esp + 0x34], esi
test esi, esi
jne 0x1007c0e4
mov edx, dword [esp + 0x20]
test edx, edx
je 0x1007c03e
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007c037
mov eax, dword [edx + 0x14]
dec dword [eax + 0x78]
mov ecx, dword [eax + 0x88]
mov dword [edx + 0x10], ecx
mov esi, dword [eax + 0x3c]
mov dword [eax + 0x88], edx
push dword [edx + 4]
mov ecx, dword [edx + 0x18]
mov eax, dword [eax + 0x98]
dec ecx
mov edi, dword [esi]
cdq
push edx
push eax
push 0
push ecx
call fcn.10181160
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
mov edi, dword [esp + 0x2c]
add esp, 0x10
jmp 0x1007c03e
mov ecx, edx
call fcn.1006ea70
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
test esi, esi
je 0x1007c05b
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
cmp eax, dword [esp + 0x14]
ja 0x1007bfc0
mov edx, dword [esp + 0x10]
mov ecx, edi
push esi
push eax
push dword [esp + 0x38]
push dword [esp + 0x24]
call fcn.1007bc30
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], edi
test eax, eax
je 0x1007c0d7
mov edx, dword [eax + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007c0d0
mov eax, dword [edx + 0x14]
dec dword [eax + 0x78]
mov ecx, dword [eax + 0x88]
mov dword [edx + 0x10], ecx
mov esi, dword [eax + 0x3c]
mov dword [eax + 0x88], edx
push dword [edx + 4]
mov ecx, dword [edx + 0x18]
mov eax, dword [eax + 0x98]
dec ecx
mov edi, dword [esi]
cdq
push edx
push eax
push 0
push ecx
call fcn.10181160
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
mov esi, dword [ebp + 0xc]
add esp, 0x10
mov edi, dword [esp + 0x30]
jmp 0x1007c0d7
mov ecx, edx
call fcn.1006ea70
test edi, edi
je 0x1007c14f
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x10]
test edx, edx
je 0x1007c146
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007c13f
mov eax, dword [edx + 0x14]
dec dword [eax + 0x78]
mov ecx, dword [eax + 0x88]
mov dword [edx + 0x10], ecx
mov esi, dword [eax + 0x3c]
mov dword [eax + 0x88], edx
push dword [edx + 4]
mov ecx, dword [edx + 0x18]
mov eax, dword [eax + 0x98]
dec ecx
mov edi, dword [esi]
cdq
push edx
push eax
push 0
push ecx
call fcn.10181160
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
mov esi, dword [esp + 0x44]
add esp, 0x10
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, edx
call fcn.1006ea70
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x1007c1ac
mov edi, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [0x102d69fc]
div dword [edi + 0x24]
inc eax
mov dword [esp + 0x1c], eax
dec ebx
cmp ebx, eax
je 0x1007c166
cmp ebx, 2
jae 0x1007c174
xor eax, eax
jmp 0x1007c19d
mov eax, 0xcccccccd
lea esi, [ebx - 2]
mul dword [edi + 0x28]
mov eax, esi
mov ecx, edx
xor edx, edx
shr ecx, 2
inc ecx
div ecx
sub esi, edx
lea eax, [esi + 2]
sub eax, dword [esp + 0x1c]
neg eax
sbb eax, eax
add eax, 3
add eax, esi
cmp eax, ebx
mov eax, dword [esp + 0x1c]
je 0x1007c166
mov byte [edi + 0x13], 1
mov dword [edi + 0x30], ebx
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret