Function at 0x5a00a0
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, 0xb8
mov rax, qword [rcx + 0x10]
mov dword [rsp + 0x20], 0
mov r14, rcx
mov rdi, r8
mov rcx, rax
mov qword [rsp + 0x108], rdx
xor r8d, r8d
mov edx, 0xf
mov qword [rsp + 0x118], r9
xor r9d, r9d
mov qword [rsp + 0x60], rax
call dbg.sqlite3VdbeAddOp3
mov dword [rsp + 0x90], eax
mov rax, qword [rsp + 0x108]
mov rax, qword [rax]
mov rbx, qword [rax + 8]
mov rax, qword [rsp + 0x118]
movzx eax, byte [rax + 0x40]
mov qword [rsp + 0x40], rbx
mov rdx, rax
lea rcx, [rax + rax*2]
movzx esi, dl
lea rax, [rax + rcx*4]
lea r13, [rbx + rax*8 + 8]
lea rax, [rsi + rcx*4]
mov qword [rsp + 0x68], rsi
mov rax, qword [rbx + rax*8 + 0x28]
mov qword [rsp + 0x58], rax
mov rax, qword [rsp + 0x108]
movsxd rdx, dword [rax + 0x14]
mov r15, qword [rax + 0x20]
lea rax, [rdx*8]
sub rax, rdx
lea rbp, [r15 + rax*8]
mov rax, qword [rsp + 0x118]
mov rax, qword [rax + 0x60]
mov qword [rsp + 0x70], rax
cmp r15, rbp
jae 0x5a0aee
mov qword [rsp + 0x100], r14
xor r12d, r12d
mov r14, r15
xor esi, esi
mov qword [rsp + 0x48], 0
xor ebx, ebx
mov r15, rax
jmp 0x5a0239
mov r8, rdi
mov rdx, r13
mov rcx, r14
call sym.termCanDriveIndex
test eax, eax
je 0x5a022c
movsxd rcx, dword [r14 + 0x20]
mov r11d, 1
movabs rax, 0x8000000000000000
shl r11, cl
cmp ecx, 0x40
cmovge r11, rax
test r12b, r12b
je 0x5a0870
test r11, rsi
jne 0x5a02b8
movzx eax, word [r15 + 0x40]
lea r12d, [rbx + 1]
cmp r12d, eax
jle 0x5a0218
mov rax, qword [rsp + 0x100]
mov r8d, r12d
mov rdx, r15
mov qword [rsp + 0x50], r11
mov rcx, qword [rax]
call sym.whereLoopResize.part.0
mov r11, qword [rsp + 0x50]
test eax, eax
jne 0x5a0aba
mov rax, qword [r15 + 0x48]
or rsi, r11
mov qword [rax + rbx*8], r14
movsxd rbx, r12d
mov r12d, 1
add r14, 0x38
cmp rbp, r14
jbe 0x5a02cb
test byte [r14 + 0x12], 2
jne 0x5a01a0
mov rax, qword [rsp + 0x118]
mov r11, qword [r14]
mov rdx, qword [rsp + 0x40]
movzx r8d, byte [rax + 0x40]
mov rcx, r11
mov qword [rsp + 0x50], r11
call sym.sqlite3ExprIsSingleTableConstraint
test eax, eax
je 0x5a01a0
mov r11, qword [rsp + 0x50]
test r11, r11
je 0x5a0294
mov rax, qword [rsp + 0x100]
mov rdx, r11
xor r9d, r9d
xor r8d, r8d
mov rcx, qword [rax]
call dbg.exprDup
mov r11, rax
mov rdx, qword [rsp + 0x48]
mov rcx, qword [rsp + 0x100]
mov r8, r11
call sym.sqlite3ExprAnd
mov qword [rsp + 0x48], rax
jmp 0x5a01a0
add r14, 0x38
mov r12d, 1
cmp rbp, r14
ja 0x5a0239
mov r14, qword [rsp + 0x100]
mov eax, ebx
mov rdx, qword [rsp + 0x70]
mov r15, 0xffffffffffffffff
mov word [rdx + 0x3c], ax
mov word [rdx + 0x18], ax
mov dword [rdx + 0x38], 0x4241
mov rdx, qword [rsp + 0x68]
lea rax, [rdx + rdx*2]
lea rax, [rdx + rax*4]
mov rdx, qword [rsp + 0x40]
mov rdx, qword [rdx + rax*8 + 0x58]
mov rax, qword [rsp + 0x58]
cmp byte [rax + 0x3f], 2
je 0x5a0320
not rsi
mov r15, rsi
bts r15, 0x3f
and r15, rdx
mov rax, qword [rsp + 0x58]
movzx esi, word [rax + 0x36]
mov eax, 0x3f
cmp si, 0x3f
mov word [rsp + 0x8a], si
cmovle eax, esi
movsx r8d, ax
mov dword [rsp + 0x8c], r8d
test si, si
jle 0x5a0363
xor ecx, ecx
mov rax, r15
shr rax, cl
add ecx, 1
and eax, 1
add ebx, eax
cmp r8d, ecx
jne 0x5a0350
test rdx, rdx
jns 0x5a0374
movsx eax, word [rsp + 0x8a]
lea ebx, [rbx + rax - 0x3f]
mov rcx, qword [r14]
lea edx, [rbx + 1]
lea r9, [rsp + 0xa8]
xor r8d, r8d
movsx edx, dx
call dbg.sqlite3AllocateIndexObject
mov qword [rsp + 0x50], rax
test rax, rax
je 0x5a0842
mov rsi, qword [rsp + 0x70]
mov qword [rsi + 0x20], rax
lea rsi, str.auto_index
mov qword [rax], rsi
mov rsi, qword [rsp + 0x58]
mov qword [rax + 0x18], rsi
mov rax, qword [rsp + 0x108]
mov r12, qword [rax + 0x20]
cmp rbp, r12
jbe 0x5a0ac7
xor edx, edx
xor ecx, ecx
lea rax, str.BINARY
xor esi, esi
mov dword [rsp + 0x94], ebx
mov rbx, rdx
mov qword [rsp + 0x98], r15
mov r15, r12
mov r12, rdi
mov rdi, rcx
mov byte [rsp + 0x89], 0
mov qword [rsp + 0x78], rax
mov qword [rsp + 0x100], r14
jmp 0x5a041d
add r15, 0x38
cmp rbp, r15
jbe 0x5a04e8
mov r8, r12
mov rdx, r13
lea r14, [rdi + rdi]
mov rcx, r15
call sym.termCanDriveIndex
test eax, eax
je 0x5a0410
mov ecx, dword [r15 + 0x20]
mov eax, 1
movabs rdx, 0x8000000000000000
shl rax, cl
cmp ecx, 0x40
cmovge rax, rdx
test rax, rbx
jne 0x5a0410
or rbx, rax
mov rax, qword [rsp + 0x50]
mov rdx, qword [r15]
mov rax, qword [rax + 8]
mov qword [rsp + 0x80], rdx
mov word [rax + r14], cx
mov rcx, qword [rsp + 0x100]
call sym.sqlite3ExprCompareCollSeq
mov rdx, qword [rsp + 0x80]
lea rcx, str.BINARY
test rax, rax
je 0x5a0495
mov rcx, qword [rax]
mov rax, qword [rsp + 0x50]
add esi, 1
add r14, 2
mov rax, qword [rax + 0x40]
mov qword [rax + rdi*8], rcx
mov rcx, qword [rdx + 0x10]
movsxd rdi, esi
test rcx, rcx
je 0x5a0410
call dbg.sqlite3ExprAffinity
movzx ecx, byte [rsp + 0x89]
cmp al, 0x42
mov eax, 1
cmovne ecx, eax
add r15, 0x38
mov byte [rsp + 0x89], cl
cmp rbp, r15
ja 0x5a041d
nop dword [rax]
mov rax, rdi
movzx edi, byte [rsp + 0x89]
mov r8, r14
mov ebx, dword [rsp + 0x94]
mov r15, qword [rsp + 0x98]
mov r14, qword [rsp + 0x100]
shl rax, 3
and edi, 1
cmp word [rsp + 0x8a], 0
mov rcx, qword [rsp + 0x50]
mov r10, qword [rcx + 8]
mov r9, qword [rcx + 0x40]
jle 0x5a0ae1
mov ebp, dword [rsp + 0x8c]
mov r12, qword [rsp + 0x78]
xor edx, edx
nop
movsxd rax, esi
lea r8, [rax + rax]
shl rax, 3
bt r15, rdx
lea rcx, [r10 + r8]
lea r11, [r9 + rax]
jae 0x5a056c
mov word [rcx], dx
add esi, 1
lea rcx, [r10 + r8 + 2]
mov qword [r11], r12
lea r11, [r9 + rax + 8]
add edx, 1
cmp ebp, edx
jne 0x5a0540
mov rdx, qword [rsp + 0x68]
lea rax, [rdx + rdx*2]
lea rax, [rdx + rax*4]
mov rdx, qword [rsp + 0x40]
cmp qword [rdx + rax*8 + 0x58], 0
js 0x5a0918
mov r8d, dword [r14 + 0x34]
mov rax, qword [rsp + 0x78]
mov ebp, 0xffffffff
lea r9d, [rbx + 1]
mov word [rcx], bp
mov rcx, qword [rsp + 0x60]
mov edx, 0x74
mov qword [r11], rax
lea eax, [r8 + 1]
mov dword [r14 + 0x34], eax
mov rax, qword [rsp + 0x118]
mov dword [rax + 8], r8d
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
mov rdx, qword [rsp + 0x50]
mov rcx, r14
call dbg.sqlite3VdbeSetP4KeyInfo
mov rax, qword [r14]
test byte [rax + 0x62], 8
jne 0x5a05f3
test dil, dil
jne 0x5a0a58
mov rdi, qword [rsp + 0x68]
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
mov rdi, qword [rsp + 0x40]
lea rbx, [rdi + rax*8]
test byte [rbx + 0x48], 0x20
jne 0x5a08b0
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0x24
xor edi, edi
mov rax, qword [rsp + 0x118]
mov dword [rsp + 0x20], 0
mov r8d, dword [rax + 4]
call dbg.sqlite3VdbeAddOp3
movsxd rbx, eax
mov rdx, qword [rsp + 0x48]
xor r13d, r13d
test rdx, rdx
je 0x5a0674
mov eax, dword [r14 + 0x44]
mov r9d, 0x10
mov rcx, r14
lea r13d, [rax - 1]
mov dword [r14 + 0x44], r13d
mov r8d, r13d
call sym.sqlite3ExprIfFalse
mov rax, qword [rsp + 0x70]
or dword [rax + 0x38], 0x20000
movzx eax, byte [r14 + 0x1f]
test al, al
je 0x5a09c0
sub eax, 1
mov byte [r14 + 0x1f], al
movzx eax, al
mov r12d, dword [r14 + rax*4 + 0xe8]
mov rax, qword [rsp + 0x118]
mov r9d, r12d
mov rcx, r14
mov dword [rsp + 0x38], 0
mov qword [rsp + 0x30], 0
mov rdx, qword [rsp + 0x50]
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
mov r8d, dword [rax + 4]
call dbg.sqlite3GenerateIndexKey
mov ebp, eax
mov rax, qword [rsp + 0x118]
mov r8d, dword [rax + 0x34]
test r8d, r8d
jne 0x5a0a30
mov rax, qword [rsp + 0x118]
mov r15, qword [rsp + 0x60]
mov r9d, r12d
mov edx, 0x8a
mov dword [rsp + 0x20], 0
mov r8d, dword [rax + 8]
mov rcx, r15
call dbg.sqlite3VdbeAddOp3
movsxd rax, dword [r15 + 0x90]
test eax, eax
jle 0x5a0736
mov r9, qword [r15 + 0x88]
lea rax, [rax + rax*2]
mov r10d, 0x10
lea rax, [r9 + rax*8]
mov word [rax - 0x16], r10w
cmp qword [rsp + 0x48], 0
je 0x5a074b
mov rcx, qword [rsp + 0x60]
mov edx, r13d
call dbg.sqlite3VdbeResolveLabel
mov rcx, qword [rsp + 0x68]
mov rax, qword [rsp + 0x118]
mov r8d, dword [rax + 4]
lea rax, [rcx + rcx*2]
lea rax, [rcx + rax*4]
mov rcx, qword [rsp + 0x40]
test byte [rcx + rax*8 + 0x48], 0x20
je 0x5a09d8
mov rcx, qword [rsp + 0x60]
add esi, ebp
lea rax, [0x007e7180]
mov rdx, qword [rcx]
cmp byte [rdx + 0x67], 0
jne 0x5a079a
mov rax, qword [rcx + 0x88]
lea rdx, [rdi + rdi*2]
lea rax, [rax + rdx*8]
mov rdi, qword [rsp + 0x68]
mov rdx, qword [r14 + 0x10]
mov dword [rax + 8], esi
mov r9d, r8d
mov rax, qword [rsp + 0x118]
mov r8d, ebx
mov eax, dword [rax + 8]
mov dword [rsp + 0x28], eax
lea rax, [rdi + rdi*2]
lea rax, [rdi + rax*4]
mov rdi, qword [rsp + 0x40]
lea rsi, [rdi + rax*8]
mov eax, dword [rsi + 0x40]
mov dword [rsp + 0x20], eax
mov rcx, qword [r14]
call sym.translateColumnToCopy.isra.0
mov rdi, qword [rsp + 0x60]
mov r9d, ebx
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 9
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
and byte [rsi + 0x48], 0xdf
mov eax, dword [rdi + 0x90]
mov rdi, qword [rsp + 0x60]
mov rdx, qword [rdi]
cmp byte [rdx + 0x67], 0
jne 0x5a0970
mov rdx, qword [rdi + 0x88]
lea rcx, [rbx + rbx*2]
mov dword [rdx + rcx*8 + 8], eax
test r12d, r12d
jne 0x5a0986
movsxd rcx, dword [rsp + 0x90]
lea rcx, [rcx + rcx*2]
lea rdx, [rdx + rcx*8]
mov dword [rdx + 8], eax
mov rax, qword [rsp + 0x48]
test rax, rax
je 0x5a0858
mov rcx, qword [r14]
mov rdx, rax
call dbg.sqlite3ExprDeleteNN
nop
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov rdx, qword [rsp + 0x58]
lea rax, [rcx + rcx*2]
mov ecx, 0x11c
mov qword [rsp + 0x50], r11
shl rax, 3
add rax, qword [rdx + 8]
mov r8, qword [rdx]
lea rdx, str.automatic_index_on__s__s_
mov r9, qword [rax]
call dbg.sqlite3_log
mov r11, qword [rsp + 0x50]
jmp 0x5a01d9
mov ebp, dword [rbx + 0x3c]
mov r15, qword [rsp + 0x60]
xor r9d, r9d
xor r8d, r8d
mov dword [rsp + 0x20], 0
mov edx, 0x47
mov rcx, r15
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, ebp
mov edx, 0xb
movsxd rdi, eax
mov eax, dword [rbx + 0x38]
mov rcx, r15
mov dword [rsp + 0x20], eax
call dbg.sqlite3VdbeAddOp3
xor r9d, r9d
mov r8d, ebp
mov edx, 0xc
mov dword [rsp + 0x20], 0
mov rcx, r15
call dbg.sqlite3VdbeAddOp3
movsxd rbx, eax
jmp 0x5a063e
mov r8, qword [rsp + 0x58]
cmp word [r8 + 0x36], 0x3f
jle 0x5a0591
add esi, 1
mov r11, qword [rsp + 0x78]
mov edx, 0x3f
movsxd rax, esi
nop dword [rax]
mov word [r10 + rax*2 - 2], dx
movsx ecx, word [r8 + 0x36]
add edx, 1
mov esi, eax
mov qword [r9 + rax*8 - 8], r11
add rax, 1
cmp ecx, edx
jg 0x5a0940
movsxd rax, esi
lea rcx, [r10 + rax*2]
lea r11, [r9 + rax*8]
jmp 0x5a0591
mov dword [0x007e7188], eax
lea rdx, [0x007e7180]
test r12d, r12d
je 0x5a083f
mov edx, r12d
mov rcx, r14
call sym.sqlite3ReleaseTempReg.part.0
mov rdi, qword [rsp + 0x60]
lea rdx, [0x007e7180]
mov rcx, qword [rdi]
mov eax, dword [rdi + 0x90]
cmp byte [rcx + 0x67], 0
jne 0x5a083f
mov rdx, qword [rdi + 0x88]
jmp 0x5a082f
mov eax, dword [r14 + 0x38]
lea r12d, [rax + 1]
mov dword [r14 + 0x38], r12d
jmp 0x5a0693
mov rdi, qword [rsp + 0x60]
lea r9d, [rbx + 1]
mov edx, 0x27
mov dword [rsp + 0x20], 0
mov rcx, rdi
call dbg.sqlite3VdbeAddOp3
mov eax, dword [rdi + 0x90]
test eax, eax
jle 0x5a0805
mov rcx, qword [rdi + 0x88]
movsxd rdx, eax
mov r8d, 3
lea rdx, [rdx + rdx*2]
lea rdx, [rcx + rdx*8]
mov word [rdx - 0x16], r8w
jmp 0x5a0805
mov rax, qword [rsp + 0x70]
mov rcx, qword [rsp + 0x60]
xor r9d, r9d
mov edx, 0xb7
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], eax
call dbg.sqlite3VdbeAddOp4Int
jmp 0x5a06e8
mov rax, qword [rsp + 0x108]
mov rcx, r14
mov rax, qword [rax]
mov rdx, qword [rax + 8]
mov rax, qword [rsp + 0x118]
movzx r8d, byte [rax + 0x40]
lea r9, [rax + 0x60]
call sym.sqlite3WhereExplainBloomFilter.isra.0
mov eax, dword [r14 + 0x38]
mov rcx, qword [rsp + 0x60]
mov r8d, 0x2710
mov edx, 0x4d
lea r9d, [rax + 1]
mov rax, qword [rsp + 0x118]
mov dword [r14 + 0x38], r9d
mov dword [rax + 0x34], r9d
mov dword [rsp + 0x20], 0
call dbg.sqlite3VdbeAddOp3
jmp 0x5a05f3
mov r14, qword [rsp + 0x100]
jmp 0x5a0842
lea rdx, str.BINARY
xor eax, eax
xor r8d, r8d
xor edi, edi
mov qword [rsp + 0x78], rdx
xor esi, esi
jmp 0x5a0514
lea rcx, [r10 + r8]
lea r11, [r9 + rax]
jmp 0x5a0573
mov qword [rsp + 0x48], 0
xor eax, eax
xor esi, esi
xor ebx, ebx
jmp 0x5a02d5