Function at 0x100ac230
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 0x100ac252
xor ecx, ecx
jmp 0x100ac282
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 [0x10311a04]
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 0x100ac55f
mov eax, dword [0x10311a04]
xor edx, edx
div dword [edi + 0x24]
inc eax
cmp ebx, eax
je 0x100ac55f
mov eax, dword [edi + 0xc]
mov eax, dword [eax + 0x38]
mov eax, dword [eax + 0x24]
bswap eax
test eax, eax
jne 0x100ac2bb
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.100a9130
add esp, 8
test eax, eax
jne 0x100ac5be
mov eax, dword [esp + 0x18]
cmp al, 1
jne 0x100ac30b
push 0x102eb824
push 0x117a4
push str.database_corruption
push str._s_at_line__d_of___.10s_
push 0xb
call sym.BasicBusinessConfigCenter.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 0x100ac39c
test esi, esi
jne 0x100ac5bc
push 1
lea eax, [esp + 0x38]
mov ecx, edi
push ebx
push eax
lea edx, [esp + 0x24]
call fcn.100ae480
add esp, 0xc
test eax, eax
jne 0x100ac5be
mov edx, dword [esp + 0x18]
test edx, edx
je 0x100ac563
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100ac390
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.101b0580
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
add esp, 0x10
jmp 0x100ac563
mov ecx, edx
call fcn.1009ee90
jmp 0x100ac563
lea eax, [esp + 0x10]
mov edx, ebx
push 0
push eax
mov ecx, edi
call fcn.100aa400
add esp, 8
test eax, eax
jne 0x100ac5be
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.100ae480
mov esi, eax
add esp, 0xc
mov dword [esp + 0x34], esi
test esi, esi
jne 0x100ac4f4
mov edx, dword [esp + 0x20]
test edx, edx
je 0x100ac44e
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100ac447
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.101b0580
push edx
push eax
mov eax, dword [edi + 0x48]
push esi
call eax
mov edi, dword [esp + 0x2c]
add esp, 0x10
jmp 0x100ac44e
mov ecx, edx
call fcn.1009ee90
mov esi, dword [ebp + 0xc]
mov eax, dword [esp + 0x24]
test esi, esi
je 0x100ac46b
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
cmp eax, dword [esp + 0x14]
ja 0x100ac3d0
mov edx, dword [esp + 0x10]
mov ecx, edi
push esi
push eax
push dword [esp + 0x38]
push dword [esp + 0x24]
call fcn.100ac040
mov edi, eax
add esp, 0x10
mov eax, dword [esp + 0x10]
mov dword [esp + 0x30], edi
test eax, eax
je 0x100ac4e7
mov edx, dword [eax + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100ac4e0
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.101b0580
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 0x100ac4e7
mov ecx, edx
call fcn.1009ee90
test edi, edi
je 0x100ac55f
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [esp + 0x10]
test edx, edx
je 0x100ac556
mov edx, dword [edx + 0x48]
test byte [edx + 0x1c], 0x20
je 0x100ac54f
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.101b0580
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.1009ee90
mov eax, esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
test esi, esi
jne 0x100ac5bc
mov edi, dword [esp + 0x1c]
xor edx, edx
mov eax, dword [0x10311a04]
div dword [edi + 0x24]
inc eax
mov dword [esp + 0x1c], eax
dec ebx
cmp ebx, eax
je 0x100ac576
cmp ebx, 2
jae 0x100ac584
xor eax, eax
jmp 0x100ac5ad
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 0x100ac576
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