Function at 0x1007b750
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 0x1007b772
xor ecx, ecx
jmp 0x1007b7a2
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 [0x102d49fc]
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 0x1007ba7f
mov eax, dword [0x102d49fc]
xor edx, edx
div dword [edi + 0x24]
inc eax
cmp ebx, eax
je 0x1007ba7f
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x24]
bswap eax
test eax, eax
jne 0x1007b7db
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.10078650
add esp, 8
test eax, eax
jne 0x1007bade
mov eax, dword [esp + 0x18]
cmp al, 1
jne 0x1007b82b
push 0x102b4224
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 0x1007b8bc
test esi, esi
jne 0x1007badc
push 1
lea eax, [esp + 0x38]
mov ecx, edi
push ebx
push eax
lea edx, [esp + 0x24]
call fcn.1007d990
add esp, 0xc
test eax, eax
jne 0x1007bade
mov edx, dword [esp + 0x18]
test edx, edx
je 0x1007ba83
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007b8b0
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.10180ab0
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
add esp, 0x10
jmp 0x1007ba83
mov ecx, edx
call fcn.1006e3b0
jmp 0x1007ba83
lea eax, [esp + 0x10]
mov edx, ebx
push 0
push eax
mov ecx, edi
call fcn.10079920
add esp, 8
test eax, eax
jne 0x1007bade
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.1007d990
mov esi, eax
add esp, 0xc
mov dword [esp + 0x34], esi
test esi, esi
jne 0x1007ba14
mov edx, dword [esp + 0x20]
test edx, edx
je 0x1007b96e
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007b967
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.10180ab0
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
mov edi, dword [esp + 0x2c]
add esp, 0x10
jmp 0x1007b96e
mov ecx, edx
call fcn.1006e3b0
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
test esi, esi
je 0x1007b98b
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
cmp eax, dword [esp + 0x14]
ja 0x1007b8f0
mov edx, dword [esp + 0x10]
mov ecx, edi
push esi
push eax
push dword [esp + 0x38]
push dword [esp + 0x24]
call fcn.1007b560
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], edi
test eax, eax
je 0x1007ba07
mov edx, dword [eax + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007ba00
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.10180ab0
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 0x1007ba07
mov ecx, edx
call fcn.1006e3b0
test edi, edi
je 0x1007ba7f
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x10]
test edx, edx
je 0x1007ba76
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x1007ba6f
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.10180ab0
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.1006e3b0
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x1007badc
mov edi, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [0x102d49fc]
div dword [edi + 0x24]
inc eax
mov dword [esp + 0x1c], eax
dec ebx
cmp ebx, eax
je 0x1007ba96
cmp ebx, 2
jae 0x1007baa4
xor eax, eax
jmp 0x1007bacd
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 0x1007ba96
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