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

Disassembly:
sub esp, 0x14c
mov eax, dword [0x100bdc68]
xor eax, esp
mov dword [esp + 0x148], eax
mov eax, dword [esp + 0x15c]
mov ecx, dword [esp + 0x16c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x154]
mov dword [esp + 0x2c], eax
xor eax, eax
push ebx
xor ebx, ebx
mov dword [esp + 0x14], eax
cmp dword [esp + 0x16c], eax
push esi
mov esi, dword [esp + 0x158]
mov dword [ecx], eax
setne al
mov dword [esp + 0x28], eax
push edi
mov eax, dword [esi + 0xc]
mov edi, dword [esp + 0x164]
mov dword [esp + 0xc], esi
mov dword [esp + 0x20], edi
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x30], 0
mov dword [esp + 0x18], ebx
test eax, eax
je 0x10001b43
push eax
call dword [0x100bc128]
add esp, 4
push ebp
push 0
push 0x20
push esi
call fcn.10053d40
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x14], ebp
test ebp, ebp
je 0x10001b70
xorps xmm0, xmm0
movups xmmword [ebp], xmm0
movups xmmword [ebp + 0x10], xmm0
nop word [eax + eax]
push 0x98
lea eax, [esp + 0x4c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
push 0x4c
lea eax, [esp + 0x11c]
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov eax, dword [esi + 0x10c]
add esp, 0x18
cmp byte [esi + 0x57], 0
mov dword [esp + 0x100], eax
lea eax, [esp + 0x44]
mov dword [esi + 0x10c], eax
mov dword [esp + 0x44], esi
je 0x10001bc4
push str.out_of_memory
push eax
call fcn.10055e80
add esp, 8
test ebp, ebp
je 0x10001ff2
test ebx, ebx
je 0x10001bda
push ebx
push esi
call fcn.10053c30
add esp, 8
xor ebx, ebx
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x2c], ebx
cmp byte [esi + 0x5f], bl
jne 0x10001bf2
push esi
call fcn.1001f920
add esp, 4
push dword [esp + 0x3c]
lea eax, [esp + 0x48]
push edi
push 0
push eax
call fcn.10065510
mov edi, eax
add esp, 0x10
mov dword [esp + 0x18], edi
test edi, edi
je 0x10001fc8
mov al, byte [edi + 0x2b]
cmp al, 1
je 0x10001fb2
test byte [edi + 0x1c], 0x80
jne 0x10001fa7
cmp al, 2
je 0x10001f9c
mov dword [ebp + 0x1c], edi
mov ecx, 0xffff8000
mov edx, dword [edi + 0x3c]
test edx, edx
je 0x10001c58
mov eax, dword [esi + 0x10]
xor ecx, ecx
add eax, 0xc
cmp dword [eax], edx
je 0x10001c58
nop dword [eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x10001c50
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [ebp + 0x18], eax
xor ebp, ebp
movsx ebx, word [edi + 0x22]
mov dword [esp + 0x28], ebp
test ebx, ebx
jle 0x10001cb7
mov edi, dword [edi + 4]
mov esi, dword [esp + 0x38]
mov edx, dword [edi]
sub esi, edx
nop dword [eax]
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x10001c92
test ecx, ecx
je 0x10001caf
inc edx
jmp 0x10001c80
movzx eax, byte [eax + 0x100b0f70]
movzx ecx, byte [ecx + 0x100b0f70]
sub ecx, eax
jne 0x10001ca7
inc edx
jmp 0x10001c80
inc ebp
add edi, 0x10
cmp ebp, ebx
jl 0x10001c74
mov esi, dword [esp + 0x10]
mov dword [esp + 0x28], ebp
cmp ebp, ebx
je 0x10001f6b
cmp dword [esp + 0x178], 0
je 0x10001d51
mov eax, dword [esi + 0x20]
xor edi, edi
mov ebx, dword [esp + 0x18]
and eax, 0x4000
or eax, edi
je 0x10001d0b
mov esi, dword [ebx + 0x30]
test esi, esi
je 0x10001d0b
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x10001d04
lea ecx, [esi + 0x24]
cmp dword [ecx], ebp
lea ecx, [ecx + 8]
mov eax, str.foreign_key
cmovne eax, edi
mov edi, eax
sub edx, 1
jne 0x10001cf0
mov esi, dword [esi + 4]
test esi, esi
jne 0x10001ce6
mov ebx, dword [ebx + 8]
test ebx, ebx
je 0x10001d49
movzx esi, word [ebx + 0x32]
xor eax, eax
test esi, esi
je 0x10001d3e
mov ebp, dword [ebx + 4]
nop
movzx edx, word [ebp + eax*2]
movsx ecx, dx
cmp ecx, dword [esp + 0x28]
je 0x10001d34
cmp dx, 0xfffe
jne 0x10001d39
mov edi, str.indexed
inc eax
cmp eax, esi
jl 0x10001d20
mov ebx, dword [ebx + 0x14]
test ebx, ebx
jne 0x10001d12
mov ebp, dword [esp + 0x28]
test edi, edi
jne 0x10001f29
lea eax, [esp + 0x44]
push eax
call fcn.1007aff0
mov edi, eax
add esp, 4
mov eax, dword [esp + 0x14]
mov dword [eax + 0x10], edi
test edi, edi
je 0x10001eac
mov eax, dword [esp + 0x18]
mov esi, 0xffff8000
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x10001d98
mov eax, dword [esp + 0x10]
xor esi, esi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x10001d98
nop
lea eax, [eax + 0x10]
inc esi
cmp dword [eax], ecx
jne 0x10001d90
push dword [ecx + 4]
push dword [ecx]
push dword [esp + 0x38]
push esi
push 2
push edi
call fcn.1007ab00
mov eax, dword [edi + 0x6c]
add esp, 0x18
test eax, eax
jle 0x10001dc4
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push 0
push 0x100ad6a8
push 6
push edi
call fcn.1007ab90
mov ebx, eax
add esp, 0x10
mov eax, dword [edi + 0x9c]
bts eax, esi
mov dword [edi + 0x9c], eax
cmp esi, 1
je 0x10001e0e
mov eax, dword [edi]
mov ecx, esi
add ecx, ecx
mov eax, dword [eax + 0x10]
mov eax, dword [eax + ecx*8 + 4]
cmp byte [eax + 9], 0
je 0x10001e0e
mov eax, dword [edi + 0xa0]
bts eax, esi
mov dword [edi + 0xa0], eax
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
cmp byte [ecx + 0x57], 0
jne 0x10001eac
mov dword [ebx + 4], esi
mov eax, dword [edx + 0x14]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0xc], eax
mov eax, dword [edi]
cmp byte [eax + 0x57], 0
jne 0x10001e54
mov eax, dword [edi + 0x68]
push 0
push dword [edx]
add eax, 0x28
push eax
push edi
call fcn.10096b60
mov ecx, dword [esp + 0x20]
add esp, 0x10
mov edx, dword [esp + 0x18]
cmp byte [ecx + 0x57], 0
jne 0x10001eac
cmp dword [esp + 0x178], 0
je 0x10001e68
mov byte [ebx + 0x14], 0x71
mov eax, dword [edx + 0x14]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], esi
mov byte [ebx + 0x15], 0xfd
movsx eax, word [edx + 0x22]
inc eax
mov dword [ebx + 0x24], eax
movsx eax, word [edx + 0x22]
mov dword [ebx + 0x44], eax
xor eax, eax
mov word [esp + 0x114], ax
lea eax, [esp + 0x44]
push eax
push edi
mov dword [esp + 0x78], 1
mov dword [esp + 0x74], 1
call fcn.10085010
add esp, 8
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x10]
mov word [edi + 8], bp
mov ebp, edi
mov dword [ebp + 0x14], esi
cmp byte [esi + 0x5f], 0
jne 0x10001ecc
push esi
call fcn.1001fbd0
add esp, 4
cmp byte [esi + 0x57], 0
jne 0x10001ff2
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x178]
push dword [esp + 0x178]
push ebp
call fcn.1001ed80
mov edi, dword [esp + 0x44]
add esp, 0x10
inc edi
mov ebx, eax
mov dword [esp + 0x20], ebx
mov dword [esp + 0x34], edi
cmp edi, 0x32
jge 0x10001f62
cmp ebx, 0x11
jne 0x10001f62
lea eax, [esp + 0x44]
push eax
call fcn.10068610
mov ebx, dword [esp + 0x30]
add esp, 4
mov edi, dword [esp + 0x24]
mov dword [esp + 0x1c], ebx
jmp 0x10001b70
mov ebx, dword [esp + 0x10]
push edi
push str.cannot_open__s_column_for_writing
push ebx
call fcn.10065ac0
add esp, 0xc
mov dword [esp + 0x20], 1
cmp byte [ebx + 0x5f], 0
mov edi, eax
jne 0x10002011
push ebx
call fcn.1001fbd0
mov ebx, dword [esp + 0x24]
add esp, 4
jmp 0x10002016
mov edi, dword [esp + 0x2c]
jmp 0x10001ffa
push dword [esp + 0x38]
push str.no_such_column:___s_
push esi
call fcn.10065ac0
add esp, 0xc
mov edi, eax
cmp byte [esi + 0x5f], 0
mov ebx, 1
jne 0x10002016
push esi
call fcn.1001fbd0
add esp, 4
jmp 0x10002016
push dword [esp + 0x24]
push str.cannot_open_view:__s
jmp 0x10001fbb
push dword [esp + 0x24]
push str.cannot_open_table_without_rowid:__s
jmp 0x10001fbb
push dword [esp + 0x24]
push str.cannot_open_virtual_table:__s
lea eax, [esp + 0x4c]
push eax
call fcn.10055e80
add esp, 0xc
mov eax, dword [esp + 0x48]
test eax, eax
je 0x10001fd8
mov edi, eax
mov dword [esp + 0x48], ebx
jmp 0x10001fdc
mov edi, dword [esp + 0x1c]
cmp byte [esi + 0x5f], 0
mov ebx, 1
jne 0x1000201a
push esi
call fcn.1001fbd0
add esp, 4
jmp 0x1000201a
mov ebx, dword [esp + 0x20]
mov edi, dword [esp + 0x1c]
test ebx, ebx
jne 0x1000200b
cmp byte [esi + 0x57], bl
jne 0x1000200b
mov eax, dword [esp + 0x40]
mov dword [eax], ebp
jmp 0x1000204a
test ebp, ebp
je 0x1000204a
jmp 0x1000201a
mov ebx, 1
mov ebp, dword [esp + 0x14]
mov esi, dword [ebp + 0x10]
test esi, esi
je 0x1000203c
cmp byte [esi + 0x95], 1
jb 0x10002033
push esi
call fcn.10087560
add esp, 4
push esi
call fcn.1007b0b0
add esp, 4
mov esi, dword [esp + 0x10]
push ebp
push esi
call fcn.10053c30
add esp, 8
xor ecx, ecx
mov eax, 0x100b3c00
test edi, edi
push edi
cmove eax, ecx
push eax
push ebx
push esi
call fcn.10055f10
add esp, 0x10
pop ebp
test edi, edi
je 0x10002071
push edi
push esi
call fcn.10053c30
add esp, 8
lea eax, [esp + 0x40]
push eax
call fcn.10068610
add esp, 4
cmp byte [esi + 0x57], 0
jne 0x1000208c
test ebx, ebx
jne 0x1000208c
xor esi, esi
jmp 0x10002098
push ebx
push esi
call fcn.1001c490
add esp, 8
mov esi, eax
mov eax, dword [esp + 0xc]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x100020ad
push eax
call dword [0x100bc130]
add esp, 4
mov ecx, dword [esp + 0x154]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.100aac86
add esp, 0x14c
ret