Function at 0x48275f
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
xor r13d, r13d
xor r14d, r14d
xor r12d, r12d
mov r15, qword [rcx + 0x10]
mov qword [rsp + 0x108], rdx
mov rbx, rcx
mov edx, 0xf
mov rcx, r15
mov rsi, r9
mov qword [rsp + 0x110], r8
call sym.sqlite3VdbeAddOp0
movzx edi, byte [rsi + 0x38]
mov qword [rsp + 0x58], 0
mov dword [rsp + 0x8c], eax
mov rax, qword [rsp + 0x108]
mov dword [rsp + 0x64], edi
mov rax, qword [rax]
mov rax, qword [rax + 8]
mov qword [rsp + 0x48], rax
imul rax, rdi, 0x68
mov rdi, qword [rsp + 0x48]
lea rax, [rdi + rax + 8]
mov qword [rsp + 0x78], rax
movsxd rax, dword [rsp + 0x64]
imul rax, rax, 0x68
mov rax, qword [rdi + rax + 0x28]
mov qword [rsp + 0x50], rax
mov rax, qword [rsp + 0x108]
mov rdi, qword [rax + 0x20]
movsxd rax, dword [rax + 0x14]
imul rax, rax, 0x38
add rax, rdi
mov qword [rsp + 0x80], rax
mov rax, qword [rsi + 0x58]
mov qword [rsp + 0x40], rax
cmp rdi, qword [rsp + 0x80]
jae 0x482917
test byte [rdi + 0x12], 2
jne 0x48286c
mov rbp, qword [rdi]
movzx r8d, byte [rsi + 0x38]
mov rdx, qword [rsp + 0x48]
mov rcx, rbp
call sym.sqlite3ExprIsSingleTableConstraint
test eax, eax
je 0x48286c
mov rcx, qword [rbx]
xor r8d, r8d
mov rdx, rbp
call sym.sqlite3ExprDup
mov rdx, qword [rsp + 0x58]
mov rcx, rbx
mov r8, rax
call sym.sqlite3ExprAnd
mov qword [rsp + 0x58], rax
mov r8, qword [rsp + 0x110]
mov rcx, rdi
mov rdx, qword [rsp + 0x78]
call sym.termCanDriveIndex
test eax, eax
je 0x48290e
movsxd rcx, dword [rdi + 0x20]
mov ebp, 1
shl rbp, 0x3f
cmp ecx, 0x3f
jg 0x4828a3
mov ebp, 1
shl rbp, cl
test r13b, r13b
jne 0x4828cc
mov rax, qword [rsp + 0x50]
imul rcx, rcx, 0x18
lea rdx, str.automatic_index_on__s__s_
add rcx, qword [rax + 8]
mov r8, qword [rax]
mov r9, qword [rcx]
mov ecx, 0x11c
call sym.sqlite3_log
test r14, rbp
mov r13b, 1
jne 0x48290e
mov rdx, qword [rsp + 0x40]
lea r9d, [r12 + 1]
mov rcx, qword [rbx]
mov r8d, r9d
mov dword [rsp + 0x68], r9d
call sym.whereLoopResize
test eax, eax
jne 0x482df3
mov rax, qword [rsp + 0x40]
or r14, rbp
mov r9d, dword [rsp + 0x68]
mov rax, qword [rax + 0x48]
mov qword [rax + r12*8], rdi
movsxd r12, r9d
add rdi, 0x38
jmp 0x48281c
mov qword [rsp + 0x68], 0xffffffffffffffff
mov rax, qword [rsp + 0x40]
mov rdi, qword [rsp + 0x48]
mov word [rax + 0x3c], r12w
mov word [rax + 0x18], r12w
mov dword [rax + 0x38], 0x4241
movsxd rax, dword [rsp + 0x64]
imul rax, rax, 0x68
mov r8, qword [rdi + rax + 0x58]
mov rax, qword [rsp + 0x50]
cmp byte [rax + 0x3f], 2
je 0x482964
not r14
bts r14, 0x3f
and r14, r8
mov qword [rsp + 0x68], r14
mov rax, qword [rsp + 0x50]
mov edx, 0x3f
movsx eax, word [rax + 0x36]
cmp ax, 0x3f
cmovle edx, eax
xor ecx, ecx
movsx edi, dx
mov dword [rsp + 0x88], edi
cmp ecx, dword [rsp + 0x88]
jge 0x4829a0
mov rdx, qword [rsp + 0x68]
shr rdx, cl
inc ecx
and edx, 1
add r12d, edx
jmp 0x482985
test r8, r8
jns 0x4829aa
lea r12d, [r12 + rax - 0x3f]
mov rcx, qword [rbx]
lea edx, [r12 + 1]
xor r8d, r8d
lea r9, [rsp + 0xa8]
movsx edx, dx
call sym.sqlite3AllocateIndexObject
test rax, rax
mov rbp, rax
je 0x482df3
mov rax, qword [rsp + 0x40]
xor r14d, r14d
xor edi, edi
mov qword [rsp + 0x70], 0
mov qword [rax + 0x20], rbp
lea rax, str.auto_index
mov qword [rbp], rax
mov rax, qword [rsp + 0x50]
mov qword [rbp + 0x18], rax
mov rax, qword [rsp + 0x108]
mov r13, qword [rax + 0x20]
cmp r13, qword [rsp + 0x80]
jae 0x482acc
mov r8, qword [rsp + 0x110]
mov rcx, r13
mov rdx, qword [rsp + 0x78]
call sym.termCanDriveIndex
test eax, eax
je 0x482ac3
mov ecx, dword [r13 + 0x20]
mov eax, 1
shl rax, 0x3f
cmp ecx, 0x3f
jg 0x482a4d
mov eax, 1
shl rax, cl
test qword [rsp + 0x70], rax
jne 0x482ac3
mov r8, qword [r13]
movsxd r9, edi
or qword [rsp + 0x70], rax
mov qword [rsp + 0x98], r9
mov rax, qword [rbp + 8]
mov rdx, r8
mov qword [rsp + 0x90], r8
mov word [rax + r9*2], cx
mov rcx, rbx
call sym.sqlite3ExprCompareCollSeq
lea rdx, str.BINARY
mov r8, qword [rsp + 0x90]
test rax, rax
mov r9, qword [rsp + 0x98]
je 0x482aa3
mov rdx, qword [rax]
mov rcx, qword [r8 + 0x10]
inc edi
mov rax, qword [rbp + 0x40]
test rcx, rcx
mov qword [rax + r9*8], rdx
je 0x482ac3
call sym.sqlite3ExprAffinity
cmp al, 0x42
mov al, 1
cmovne r14d, eax
add r13, 0x38
jmp 0x482a08
mov r8, qword [rbp + 8]
lea r9, str.BINARY
xor eax, eax
mov rcx, qword [rbp + 0x40]
cmp eax, dword [rsp + 0x88]
jge 0x482b03
mov rdx, qword [rsp + 0x68]
bt rdx, rax
jae 0x482aff
movsxd rdx, edi
inc edi
mov word [r8 + rdx*2], ax
mov qword [rcx + rdx*8], r9
inc eax
jmp 0x482add
movsxd rax, dword [rsp + 0x64]
mov rdx, qword [rsp + 0x48]
imul rax, rax, 0x68
cmp qword [rdx + rax + 0x58], 0
jns 0x482b49
lea r10, str.BINARY
movsxd rax, edi
mov edx, 0x3f
mov r11, qword [rsp + 0x50]
mov edi, eax
movsx r9d, word [r11 + 0x36]
cmp r9d, edx
jle 0x482b49
mov word [r8 + rax*2], dx
inc edx
mov qword [rcx + rax*8], r10
inc rax
jmp 0x482b28
lea rdx, str.BINARY
movsxd rax, edi
mov word [r8 + rax*2], 0xffff
mov r8d, dword [rbx + 0x34]
lea r9d, [r12 + 1]
mov qword [rcx + rax*8], rdx
mov edx, 0x74
mov rcx, r15
lea eax, [r8 + 1]
mov dword [rbx + 0x34], eax
mov dword [rsi + 8], r8d
call sym.sqlite3VdbeAddOp2
mov rdx, rbp
mov rcx, rbx
call sym.sqlite3VdbeSetP4KeyInfo
mov rax, qword [rsp + 0x50]
lea rdx, str.for__s
mov rcx, r15
mov r8, qword [rax]
call sym.sqlite3VdbeComment
mov rax, qword [rbx]
test byte [rax + 0x62], 8
jne 0x482bec
and r14b, 1
je 0x482bec
mov rax, qword [rsp + 0x108]
mov r8, rsi
mov rcx, rbx
mov rax, qword [rax]
mov rdx, qword [rax + 8]
call sym.sqlite3WhereExplainBloomFilter.isra.409
mov eax, dword [rbx + 0x38]
mov edx, 0x4d
mov rcx, r15
mov r8d, 0x2710
lea r9d, [rax + 1]
mov dword [rbx + 0x38], r9d
mov dword [rsi + 0x2c], r9d
call sym.sqlite3VdbeAddOp2
movsxd r14, dword [rsp + 0x64]
imul r14, r14, 0x68
add r14, qword [rsp + 0x48]
test byte [r14 + 0x48], 0x20
je 0x482c62
xor r9d, r9d
xor r8d, r8d
mov rcx, r15
mov r12d, dword [r14 + 0x3c]
mov edx, 0x47
call sym.sqlite3VdbeAddOp2
xor r9d, r9d
mov rcx, r15
mov edx, 0xb
mov dword [rsp + 0x50], eax
mov eax, dword [r14 + 0x38]
mov r8d, r12d
mov dword [rsp + 0x20], eax
call sym.sqlite3VdbeAddOp3
mov r8d, r12d
mov rcx, r15
mov edx, 0xc
call sym.sqlite3VdbeAddOp1
lea rdx, str.next_row_of__s
mov rcx, r15
mov r13d, eax
mov rax, qword [r14 + 0x28]
mov r8, qword [rax]
call sym.sqlite3VdbeComment
jmp 0x482c7e
mov r8d, dword [rsi + 4]
mov edx, 0x24
mov rcx, r15
call sym.sqlite3VdbeAddOp1
mov dword [rsp + 0x50], 0
mov r13d, eax
xor r12d, r12d
cmp qword [rsp + 0x58], 0
je 0x482cb6
mov eax, dword [rbx + 0x44]
mov r9d, 0x10
mov rcx, rbx
mov rdx, qword [rsp + 0x58]
lea r12d, [rax - 1]
mov dword [rbx + 0x44], r12d
mov r8d, r12d
call sym.sqlite3ExprIfFalse
mov rax, qword [rsp + 0x40]
or dword [rax + 0x38], 0x20000
mov rcx, rbx
call sym.sqlite3GetTempReg
mov r8d, dword [rsi + 4]
mov rdx, rbp
mov dword [rsp + 0x38], 0
mov r9d, eax
mov r14d, eax
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x28], 0
mov dword [rsp + 0x20], 0
call sym.sqlite3GenerateIndexKey
mov r8d, dword [rsi + 0x2c]
mov ebp, eax
test r8d, r8d
je 0x482d1e
mov rax, qword [rsp + 0x40]
xor r9d, r9d
mov edx, 0xb4
mov rcx, r15
movzx eax, word [rax + 0x18]
mov dword [rsp + 0x20], ebp
mov dword [rsp + 0x28], eax
call sym.sqlite3VdbeAddOp4Int
mov r8d, dword [rsi + 8]
mov r9d, r14d
mov edx, 0x8a
mov rcx, r15
call sym.sqlite3VdbeAddOp2
mov edx, 0x10
mov rcx, r15
call sym.sqlite3VdbeChangeP5
cmp qword [rsp + 0x58], 0
je 0x482d4f
mov edx, r12d
call sym.sqlite3VdbeResolveLabel
movsxd r9, dword [rsp + 0x64]
mov r8d, dword [rsi + 4]
imul r9, r9, 0x68
add r9, qword [rsp + 0x48]
test byte [r9 + 0x48], 0x20
lea r12, [r9 + 0x30]
je 0x482db0
mov edx, dword [rsp + 0x50]
mov rcx, r15
mov dword [rsp + 0x40], r8d
add edi, ebp
call sym.sqlite3VdbeGetOp
mov r8d, dword [rsp + 0x40]
mov edx, r13d
mov rcx, rbx
mov dword [rax + 8], edi
mov eax, dword [rsi + 8]
mov dword [rsp + 0x20], eax
mov r9d, dword [r9 + 0x40]
call sym.translateColumnToCopy
mov edx, r13d
mov rcx, r15
call sym.sqlite3VdbeGoto
and byte [r12 + 0x18], 0xdf
jmp 0x482dce
lea r9d, [r13 + 1]
mov edx, 0x27
mov rcx, r15
call sym.sqlite3VdbeAddOp2
mov edx, 3
mov rcx, r15
call sym.sqlite3VdbeChangeP5
mov edx, r13d
mov rcx, r15
call sym.sqlite3VdbeJumpHere
mov edx, r14d
mov rcx, rbx
call sym.sqlite3ReleaseTempReg
mov edx, dword [rsp + 0x8c]
mov rcx, r15
call sym.sqlite3VdbeJumpHere
mov rdx, qword [rsp + 0x58]
mov rcx, qword [rbx]
call sym.sqlite3ExprDelete
nop
add rsp, 0xb8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret