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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x16c
mov eax, dword [section..data]
xor eax, esp
mov dword [esp + 0x168], eax
mov eax, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x24]
mov dword [esp + 0x34], eax
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x38], eax
mov eax, dword [ebp + 0x10]
push ebx
push esi
mov esi, dword [ebp + 8]
mov dword [esp + 0x44], eax
xor eax, eax
push edi
xor edi, edi
mov dword [esp + 0x20], eax
cmp dword [ebp + 0x20], eax
mov dword [ecx], eax
setne al
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], eax
mov eax, dword [esi + 0xc]
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x28], edi
test eax, eax
je 0x1005ea91
push eax
call dword [0x10177b98]
add esp, 4
push 0
push 0x20
mov ecx, esi
call fcn.10026f30
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
je 0x1005eab1
xorps xmm0, xmm0
movups xmmword [eax], xmm0
movups xmmword [eax + 0x10], xmm0
add eax, 0x10
mov dword [esp + 0x18], eax
mov ebx, eax
nop word [eax + eax]
push 0xa0
lea eax, [esp + 0x58]
push 0
push eax
call fcn.10138870
add esp, 0xc
lea eax, [esp + 0x120]
push 0x4c
push 0
push eax
call fcn.10138870
mov eax, dword [esi + 0x10c]
add esp, 0xc
cmp byte [esi + 0x57], 0
mov dword [esp + 0x114], eax
lea eax, [esp + 0x50]
mov dword [esi + 0x10c], eax
mov dword [esp + 0x50], esi
je 0x1005eb1b
push str.out_of_memory
push eax
call fcn.1002a530
mov ebx, dword [esp + 0x20]
add esp, 8
mov ecx, dword [esp + 0x10]
mov eax, ebx
test ecx, ecx
je 0x1005efb6
test edi, edi
je 0x1005eb36
mov edx, edi
mov ecx, esi
call fcn.10026a90
xor ebx, ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x38], ebx
cmp byte [esi + 0x5f], bl
jne 0x1005eb4c
mov ecx, esi
call fcn.1003e9f0
push dword [esp + 0x44]
mov ebx, dword [esp + 0x4c]
lea ecx, [esp + 0x54]
push ebx
xor edx, edx
call fcn.10079df0
mov edi, eax
add esp, 8
mov dword [esp + 0x24], edi
test edi, edi
je 0x1005ef9e
mov al, byte [edi + 0x2b]
cmp al, 1
je 0x1005ef8b
test byte [edi + 0x1c], 0x80
jne 0x1005ef83
cmp al, 2
je 0x1005ef7b
mov ebx, dword [esp + 0x10]
mov ecx, 0xffff8000
mov dword [ebx + 0x1c], edi
mov edx, dword [edi + 0x3c]
test edx, edx
je 0x1005ebb8
mov eax, dword [esi + 0x10]
xor ecx, ecx
add eax, 0xc
cmp dword [eax], edx
je 0x1005ebb8
nop dword [eax]
lea eax, [eax + 0x10]
inc ecx
cmp dword [eax], edx
jne 0x1005ebb0
mov eax, dword [esi + 0x10]
add ecx, ecx
mov eax, dword [eax + ecx*8]
mov dword [ebx + 0x18], eax
xor ebx, ebx
movsx eax, word [edi + 0x22]
mov dword [esp + 0x34], ebx
mov dword [esp + 0x1c], eax
test eax, eax
jle 0x1005ec03
mov edi, dword [edi + 4]
mov esi, dword [esp + 0x40]
mov edx, dword [edi]
sub esi, edx
movzx ecx, byte [edx]
movzx eax, byte [edx + esi]
cmp ecx, eax
jne 0x1005ed28
test ecx, ecx
jne 0x1005ed3a
mov eax, dword [esp + 0x1c]
mov esi, dword [esp + 0x14]
mov dword [esp + 0x34], ebx
cmp ebx, eax
je 0x1005ef42
cmp dword [ebp + 0x20], 0
je 0x1005ecb7
mov eax, dword [esi + 0x20]
xor edi, edi
and eax, 0x4000
or eax, edi
je 0x1005ec5b
mov esi, dword [esp + 0x24]
mov esi, dword [esi + 0x30]
test esi, esi
je 0x1005ec5b
nop
mov edx, dword [esi + 0x14]
test edx, edx
jle 0x1005ec54
lea ecx, [esi + 0x24]
nop word [eax + eax]
cmp dword [ecx], ebx
lea ecx, [ecx + 8]
mov eax, str.foreign_key
cmovne eax, edi
mov edi, eax
sub edx, 1
jne 0x1005ec40
mov esi, dword [esi + 4]
test esi, esi
jne 0x1005ec30
mov ebx, dword [esp + 0x24]
mov ebx, dword [ebx + 8]
mov dword [esp + 0x1c], ebx
test ebx, ebx
je 0x1005ecaf
nop word [eax + eax]
movzx esi, word [ebx + 0x32]
xor eax, eax
test esi, esi
je 0x1005eca4
mov ecx, dword [ebx + 4]
mov ebx, ecx
mov dword [esp + 0x2c], ecx
movzx edx, word [ebx + eax*2]
movsx ecx, dx
cmp ecx, dword [esp + 0x34]
je 0x1005ec96
cmp dx, 0xfffe
jne 0x1005ec9b
mov edi, str.indexed
inc eax
cmp eax, esi
jl 0x1005ec83
mov ebx, dword [esp + 0x1c]
mov ebx, dword [ebx + 0x14]
mov dword [esp + 0x1c], ebx
test ebx, ebx
jne 0x1005ec70
test edi, edi
jne 0x1005eefe
lea ecx, [esp + 0x50]
call fcn.1004e770
mov ebx, dword [esp + 0x10]
mov edi, eax
add ebx, 0x10
mov dword [esp + 0x1c], ebx
mov dword [ebx], edi
test edi, edi
je 0x1005ee8d
mov eax, dword [esp + 0x24]
mov esi, 0xffff8000
mov ecx, dword [eax + 0x3c]
test ecx, ecx
je 0x1005ecff
mov eax, dword [esp + 0x14]
xor esi, esi
mov eax, dword [eax + 0x10]
add eax, 0xc
cmp dword [eax], ecx
je 0x1005ecff
lea eax, [eax + 0x10]
inc esi
cmp dword [eax], ecx
jne 0x1005ecf7
mov edx, dword [ecx + 4]
mov ebx, dword [ecx]
mov ecx, dword [edi + 0x6c]
mov dword [esp + 0x2c], edx
cmp dword [edi + 0x70], ecx
jg 0x1005ed55
push edx
push ebx
push dword [esp + 0x38]
mov edx, 2
mov ecx, edi
push esi
call fcn.1004e9f0
add esp, 0x10
jmp 0x1005ed80
movzx eax, byte [eax + 0x10161ab0]
movzx ecx, byte [ecx + 0x10161ab0]
sub ecx, eax
jne 0x1005ed40
inc edx
jmp 0x1005ebe0
mov eax, dword [esp + 0x1c]
inc ebx
add edi, 0x10
cmp ebx, eax
jl 0x1005ebd8
jmp 0x1005ebfb
mov edx, dword [esp + 0x30]
lea eax, [ecx + 1]
mov dword [edi + 0x6c], eax
lea ecx, [ecx + ecx*4]
mov eax, dword [edi + 0x68]
mov dword [eax + ecx*4 + 8], edx
mov edx, dword [esp + 0x2c]
mov dword [eax + ecx*4], 0xfd02
mov dword [eax + ecx*4 + 4], esi
mov dword [eax + ecx*4 + 0xc], ebx
mov dword [eax + ecx*4 + 0x10], edx
mov eax, dword [edi + 0x6c]
test eax, eax
jle 0x1005ed97
lea ecx, [eax + eax*4]
mov edx, 1
mov eax, dword [edi + 0x68]
mov word [eax + ecx*4 - 0x12], dx
push ecx
push 0x1015fdb8
mov edx, 6
mov ecx, edi
call fcn.1004f590
mov ebx, eax
add esp, 8
mov eax, dword [edi + 0x9c]
bts eax, esi
mov dword [edi + 0x9c], eax
cmp esi, 1
je 0x1005ede4
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 0x1005ede4
mov eax, dword [edi + 0xa0]
bts eax, esi
mov dword [edi + 0xa0], eax
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x57], 0
jne 0x1005ee89
mov ecx, dword [esp + 0x24]
mov dword [ebx + 4], esi
mov eax, dword [ecx + 0x14]
mov dword [ebx + 8], eax
mov eax, dword [esp + 0x30]
mov dword [ebx + 0xc], eax
mov eax, dword [ecx]
mov ecx, dword [edi]
cmp byte [ecx + 0x57], 0
je 0x1005ee1d
push eax
xor edx, edx
call fcn.1004f6a0
add esp, 4
jmp 0x1005ee30
mov edx, dword [edi + 0x68]
mov ecx, edi
push 0
push eax
add edx, 0x28
call fcn.1004f7a0
add esp, 8
mov eax, dword [esp + 0x14]
cmp byte [eax + 0x57], 0
jne 0x1005ee89
cmp dword [ebp + 0x20], 0
je 0x1005ee44
mov byte [ebx + 0x14], 0x71
mov ecx, dword [esp + 0x24]
lea edx, [esp + 0x50]
mov eax, dword [ecx + 0x14]
mov dword [ebx + 0x1c], eax
mov dword [ebx + 0x20], esi
mov byte [ebx + 0x15], 0xfd
movsx eax, word [ecx + 0x22]
inc eax
mov dword [ebx + 0x24], eax
movsx eax, word [ecx + 0x22]
mov ecx, edi
mov dword [ebx + 0x44], eax
xor eax, eax
mov word [esp + 0x128], ax
mov dword [esp + 0x7c], 1
mov dword [esp + 0x78], 1
call fcn.10050300
mov ebx, dword [esp + 0x1c]
mov edi, dword [esp + 0x10]
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x34]
mov word [edi + 8], ax
mov dword [edi + 0x14], esi
cmp byte [esi + 0x5f], 0
jne 0x1005eead
mov ecx, esi
call fcn.1003ea40
cmp byte [esi + 0x57], 0
mov eax, ebx
jne 0x1005efc0
push dword [ebp + 0x1c]
lea edx, [esp + 0x3c]
mov ecx, edi
push dword [ebp + 0x18]
call fcn.1005e7f0
mov ecx, dword [esp + 0x44]
mov edx, eax
inc ecx
mov dword [esp + 0x28], edx
add esp, 8
mov dword [esp + 0x3c], ecx
mov eax, ebx
cmp ecx, 0x32
jge 0x1005ef39
cmp edx, 0x11
jne 0x1005ef39
lea ecx, [esp + 0x50]
call fcn.1009d2c0
mov edi, dword [esp + 0x38]
mov dword [esp + 0x28], edi
jmp 0x1005eac0
mov esi, dword [esp + 0x14]
push edi
push str.cannot_open__s_column_for_writing
push esi
call fcn.100293f0
add esp, 0xc
mov dword [esp + 0x20], 1
cmp byte [esi + 0x5f], 0
mov edi, eax
mov eax, dword [esp + 0x18]
jne 0x1005efe0
mov ecx, esi
call fcn.1003ea40
mov ebx, dword [esp + 0x10]
jmp 0x1005efec
mov edi, dword [esp + 0x38]
jmp 0x1005efc8
push dword [esp + 0x40]
push str.no_such_column:___s_
push esi
call fcn.100293f0
add esp, 0xc
mov edi, eax
cmp byte [esi + 0x5f], 0
mov ebx, dword [esp + 0x18]
mov eax, ebx
mov dword [esp + 0x20], 1
jne 0x1005efe0
mov ecx, esi
call fcn.1003ea40
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x10]
jmp 0x1005efec
push ebx
push str.cannot_open_view:__s
jmp 0x1005ef91
push ebx
push str.cannot_open_table_without_rowid:__s
jmp 0x1005ef91
push ebx
push str.cannot_open_virtual_table:__s
lea eax, [esp + 0x58]
push eax
call fcn.1002a530
add esp, 0xc
mov eax, dword [esp + 0x54]
test eax, eax
je 0x1005efb0
mov dword [esp + 0x54], 0
jmp 0x1005ef54
mov edi, dword [esp + 0x28]
jmp 0x1005ef56
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
jmp 0x1005efcc
mov edi, dword [esp + 0x28]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x10]
test edx, edx
jne 0x1005efe0
lea eax, [ecx + 0x10]
cmp byte [esi + 0x57], dl
jne 0x1005efe0
mov eax, dword [esp + 0x4c]
mov dword [eax], ecx
jmp 0x1005f01a
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x18], eax
test ebx, ebx
je 0x1005f01a
mov eax, dword [esp + 0x18]
mov esi, dword [eax]
test esi, esi
je 0x1005f00d
cmp byte [esi + 0x97], 1
jb 0x1005f006
mov ecx, esi
call fcn.10051730
mov ecx, esi
call fcn.10051810
mov esi, dword [esp + 0x14]
mov edx, ebx
mov ecx, esi
call fcn.10026a90
mov ebx, dword [esp + 0x20]
xor ecx, ecx
test edi, edi
mov eax, 0x101689bc
push edi
cmove eax, ecx
push eax
push ebx
push esi
call fcn.1002a460
add esp, 0x10
test edi, edi
je 0x1005f043
mov edx, edi
mov ecx, esi
call fcn.10026a90
lea ecx, [esp + 0x50]
call fcn.1009d2c0
cmp byte [esi + 0x57], 0
jne 0x1005f05a
test ebx, ebx
jne 0x1005f05a
xor esi, esi
jmp 0x1005f065
mov edx, ebx
mov ecx, esi
call fcn.100272e0
mov esi, eax
mov eax, dword [esp + 0x14]
mov eax, dword [eax + 0xc]
test eax, eax
je 0x1005f07a
push eax
call dword [0x10177ba0]
add esp, 4
mov ecx, dword [esp + 0x174]
mov eax, esi
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.10136e2d
mov esp, ebp
pop ebp
ret