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

Disassembly:
push r15
push r14
push r13
push r12
push rbp
push rdi
push rsi
push rbx
sub rsp, 0x218
mov rax, qword [rsp + 0x290]
mov ebx, dword [rsp + 0x288]
mov rbp, rcx
mov rcx, qword [rcx + 0x18]
mov qword [rax], 0
xor eax, eax
test ebx, ebx
mov qword [rsp + 0x268], rdx
mov rsi, r9
setne al
mov qword [rsp + 0x270], r8
mov qword [rsp + 0x58], 0
test rcx, rcx
mov dword [rsp + 0x4c], eax
je 0x85a662
call qword [0x008b86c0]
lea rbx, [0x00c5e360]
mov edx, 0x38
mov rcx, rbp
call dbg.sqlite3DbMallocZero
lea r12, str.foreign_key
mov dword [rsp + 0x48], 0
mov r13, rax
mov dword [rsp + 0x3c], 0
lea rax, [rsp + 0x60]
mov qword [rsp + 0x30], rax
mov rdi, qword [rsp + 0x30]
xor eax, eax
mov ecx, 0x35
test r13, r13
rep stosq qword [rdi], rax
je 0x85ac80
mov rdx, qword [rsp + 0x58]
mov qword [rsp + 0x60], rbp
test rdx, rdx
je 0x85a6c9
mov rcx, rbp
call sym.sqlite3DbFreeNN
mov qword [rsp + 0x58], 0
cmp byte [rbp + 0x69], 0
je 0x85ab50
mov r9, qword [rsp + 0x268]
xor edx, edx
mov r8, qword [rsp + 0x270]
mov rcx, qword [rsp + 0x30]
call dbg.sqlite3LocateTable
test rax, rax
mov r15, rax
je 0x85ab76
mov edi, dword [rax + 0x54]
test edi, edi
jne 0x85ab5d
test byte [rax + 0x40], 0x80
jne 0x85abc0
cmp qword [rax + 0x18], 0
jne 0x85ac56
mov rdx, qword [r15 + 0x70]
mov qword [r13 + 0x30], r15
mov r8, qword [rbp + 0x20]
test rdx, rdx
je 0x85ac74
mov rcx, rbp
call sym.sqlite3SchemaToIndex.part.216
cdqe
shl rax, 5
movsx r11d, word [r15 + 0x46]
mov rax, qword [r8 + rax]
test r11d, r11d
mov qword [r13 + 0x28], rax
jle 0x85a9d3
mov r9, qword [r15 + 8]
mov r8, qword [r9]
xor ecx, ecx
jmp 0x85a781
movzx edx, byte [rbx + rdx]
cmp byte [rbx + rax], dl
jne 0x85a8f0
add rcx, 1
movzx eax, byte [r8 + rcx]
movzx edx, byte [rsi + rcx]
cmp eax, edx
jne 0x85a770
test eax, eax
jne 0x85a77d
mov r11d, dword [rsp + 0x288]
test r11d, r11d
jne 0x85a9ea
mov rcx, qword [rsp + 0x30]
call dbg.sqlite3VdbeCreate
test rax, rax
mov r14, rax
mov qword [r13 + 0x18], rax
je 0x85a881
mov r8, qword [r15 + 0x70]
test r8, r8
je 0x85acac
mov rcx, rbp
mov rdx, r8
call sym.sqlite3SchemaToIndex.part.216
mov ecx, eax
mov dword [rsp + 0x38], eax
mov eax, 1
shl eax, cl
mov dword [rsp + 0x40], eax
mov eax, dword [r8 + 4]
mov edx, 2
mov rcx, r14
mov r9d, dword [rsp + 0x4c]
mov dword [rsp + 0x28], eax
mov eax, dword [r8]
mov r8d, dword [rsp + 0x38]
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp4Int
movsxd rax, dword [r14 + 0x90]
test eax, eax
jle 0x85a831
mov r9, qword [r14 + 0x88]
lea rax, [rax + rax*2]
mov r10d, 1
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
lea r8, [0x00c56d70]
mov edx, 6
mov rcx, r14
call sym.sqlite3VdbeAddOpList.isra.380
movsxd rdx, dword [rsp + 0x38]
mov r10d, dword [rsp + 0x40]
or dword [r14 + 0xcc], r10d
cmp edx, 1
je 0x85a877
mov rcx, qword [r14]
shl rdx, 5
add rdx, qword [rcx + 0x20]
mov rdx, qword [rdx + 8]
cmp byte [rdx + 0x11], 0
je 0x85a877
or dword [r14 + 0xd0], r10d
cmp byte [rbp + 0x61], 0
je 0x85aa80
mov word [r13 + 8], di
mov qword [r13 + 0x20], rbp
cmp byte [rbp + 0x69], 0
je 0x85ab29
cmp byte [rbp + 0x61], 0
jne 0x85ab3b
mov rdx, qword [rsp + 0x280]
lea r8, [rsp + 0x58]
mov rcx, r13
call dbg.blobSeekToRow
mov dword [rsp + 0x48], 0x11
add dword [rsp + 0x3c], 1
cmp eax, 0x11
mov edi, dword [rsp + 0x3c]
sete dl
cmp edi, 0x32
setne cl
and dl, cl
jne 0x85a69a
test eax, eax
mov edi, edx
je 0x85ac32
mov dword [rsp + 0x48], eax
mov edi, 1
jmp 0x85a940
add edi, 1
add r9, 0x20
cmp r11d, edi
jne 0x85a761
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x85a912
mov rcx, rbp
call sym.sqlite3DbFreeNN
lea rdx, str.no_such_column:___s_
mov r8, rsi
mov rcx, rbp
call dbg.sqlite3MPrintf
mov qword [rsp + 0x58], rax
cmp byte [rbp + 0x69], 0
je 0x85abb3
mov edi, 1
mov dword [rsp + 0x48], 1
mov rcx, qword [r13 + 0x18]
test rcx, rcx
je 0x85a94e
call dbg.sqlite3VdbeFinalize
mov rdx, r13
mov rcx, rbp
call sym.sqlite3DbFreeNN
mov r9, qword [rsp + 0x58]
mov eax, 0
mov rcx, rbp
mov edx, dword [rsp + 0x48]
lea r8, [0x00c4e892]
test r9, r9
cmove r8, rax
call dbg.sqlite3ErrorWithMsg
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x85a98f
mov rcx, rbp
call sym.sqlite3DbFreeNN
mov rcx, qword [rsp + 0x30]
call dbg.sqlite3ParserReset
cmp byte [rbp + 0x61], 0
jne 0x85ac1f
xor ebx, ebx
test dil, dil
jne 0x85ac1f
mov rcx, qword [rbp + 0x18]
test rcx, rcx
je 0x85a9bd
call qword [0x008b86d0]
mov eax, ebx
add rsp, 0x218
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
je 0x85a900
mov r11d, dword [rsp + 0x288]
test r11d, r11d
je 0x85a7a3
test byte [rbp + 0x31], 0x40
mov r9, qword [r15 + 0x10]
jne 0x85abdb
xor r14d, r14d
test r9, r9
je 0x85a7a3
movzx eax, word [r9 + 0x5e]
test ax, ax
je 0x85aa48
mov rdx, qword [r9 + 8]
lea ecx, [rax - 1]
lea rax, [rdx + 2]
lea r8, [rax + rcx*2]
jmp 0x85aa2c
cmp r8, rax
mov rdx, rax
je 0x85aa48
add rax, 2
movsx ecx, word [rdx]
cmp ecx, edi
je 0x85aa39
cmp cx, 0xfffe
jne 0x85aa20
lea r14, str.indexed
cmp r8, rax
mov rdx, rax
jne 0x85aa28
mov r9, qword [r9 + 0x28]
test r9, r9
jne 0x85aa04
test r14, r14
je 0x85a7a3
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x85aa6c
mov rcx, rbp
call sym.sqlite3DbFreeNN
lea rdx, str.cannot_open__s_column_for_writing
mov r8, r14
jmp 0x85a91c
mov ecx, dword [rsp + 0x38]
xor r9d, r9d
mov qword [rsp + 0x40], rax
mov edx, dword [r15 + 0x38]
mov r8, qword [r15]
mov dword [rax + 4], ecx
mov ecx, dword [rsp + 0x4c]
mov dword [rax + 8], edx
mov edx, 2
mov dword [rax + 0xc], ecx
mov rcx, r14
call sym.sqlite3VdbeChangeP4
cmp byte [rbp + 0x61], 0
jne 0x85a881
mov r8d, dword [rsp + 0x288]
mov rax, qword [rsp + 0x40]
test r8d, r8d
je 0x85aacd
mov byte [rax + 0x18], 0x61
mov edx, dword [r15 + 0x38]
mov byte [rax + 0x19], 0xfd
mov ecx, dword [rsp + 0x38]
mov dword [rax + 0x20], edx
movsx edx, word [r15 + 0x46]
mov dword [rax + 0x24], ecx
mov dword [rax + 0x50], edx
lea ecx, [rdx + 1]
mov rdx, qword [rsp + 0x30]
mov dword [rax + 0x28], ecx
xor ecx, ecx
movabs rax, 0x100000001
mov word [rsp + 0x178], cx
mov rcx, r14
mov qword [rsp + 0x94], rax
call dbg.sqlite3VdbeMakeReady
mov word [r13 + 8], di
mov qword [r13 + 0x20], rbp
cmp byte [rbp + 0x69], 0
jne 0x85a894
mov rcx, rbp
call dbg.btreeLeaveAll
cmp byte [rbp + 0x61], 0
je 0x85a89e
mov edx, dword [rsp + 0x48]
test edx, edx
setne dil
jmp 0x85a940
mov rcx, rbp
call dbg.btreeEnterAll
jmp 0x85a6dc
mov r8, qword [rsp + 0x270]
lea rdx, str.cannot_open_virtual_table:__s
mov rcx, qword [rsp + 0x30]
call dbg.sqlite3ErrorMsg
mov rax, qword [rsp + 0x68]
test rax, rax
je 0x85a929
mov rdx, qword [rsp + 0x58]
test rdx, rdx
je 0x85ab9b
mov rcx, rbp
call sym.sqlite3DbFreeNN
mov rax, qword [rsp + 0x68]
cmp byte [rbp + 0x69], 0
mov qword [rsp + 0x58], rax
mov qword [rsp + 0x68], 0
jne 0x85a933
mov rcx, rbp
call dbg.btreeLeaveAll
jmp 0x85a933
mov r8, qword [rsp + 0x270]
lea rdx, str.cannot_open_table_without_rowid:__s
mov rcx, qword [rsp + 0x30]
call dbg.sqlite3ErrorMsg
jmp 0x85ab76
mov rcx, qword [r15 + 0x20]
xor r14d, r14d
test rcx, rcx
je 0x85ac9e
mov edx, dword [rcx + 0x28]
test edx, edx
jle 0x85ac11
lea rax, [rcx + 0x40]
sub edx, 1
shl rdx, 4
lea rdx, [rcx + rdx + 0x50]
cmp dword [rax], edi
cmove r14, r12
add rax, 0x10
cmp rdx, rax
jne 0x85ac02
mov rcx, qword [rcx + 8]
test rcx, rcx
jne 0x85abeb
jmp 0x85aa4c
mov edx, dword [rsp + 0x48]
mov rcx, rbp
call dbg.apiHandleError
mov ebx, eax
jmp 0x85a9ae
cmp byte [rbp + 0x61], 0
jne 0x85acc1
mov rax, qword [rsp + 0x290]
xor edi, edi
mov dword [rsp + 0x48], 0
mov qword [rax], r13
jmp 0x85a959
mov r8, qword [rsp + 0x270]
lea rdx, str.cannot_open_view:__s
mov rcx, qword [rsp + 0x30]
call dbg.sqlite3ErrorMsg
jmp 0x85ab76
mov rax, 0xfffffffffff00000
jmp 0x85a747
mov eax, dword [rsp + 0x48]
mov edi, 1
test eax, eax
jne 0x85a959
cmp byte [rbp + 0x61], 0
je 0x85ac3c
xor edi, edi
jmp 0x85a959
test r9, r9
jne 0x85aa04
jmp 0x85a7a3
mov dword [rsp + 0x40], 0
mov dword [rsp + 0x38], 0xffff8000
jmp 0x85a7e6
mov dword [rsp + 0x48], 0
jmp 0x85a940