Function at 0x140291680
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, 0x48
mov rbx, rcx
mov rcx, qword [r8]
mov ebp, edx
mov rsi, r8
movzx eax, word [rcx + 0x14]
mov edx, eax
not edx
test dx, 0x202
je 0x1402918ec
test al, 1
jne 0x140291912
mov edx, 1
call sym.valueToText
mov rcx, qword [rsi]
mov r15, rax
test r15, r15
sete r13b
movzx eax, word [rcx + 0x14]
test al, 2
je 0x1402916df
cmp byte [rcx + 0x16], 1
je 0x140291909
test al, 0x10
jne 0x140291720
xor r12d, r12d
test al, 1
jne 0x1402916f7
mov edx, 1
call sym.valueBytes
mov r12d, eax
lea rdi, [0x140313768]
xor edx, edx
cmp ebp, 2
je 0x14029173a
test r13b, r13b
je 0x14029175f
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
test ah, 4
mov r12d, dword [rcx + 0x10]
je 0x1402916f7
add r12d, dword [rcx]
lea rdi, [0x140313768]
xor edx, edx
cmp ebp, 2
jne 0x140291705
mov rcx, qword [rsi + 8]
call sym.sqlite3ValueText.constprop.0
mov rcx, qword [rsi + 8]
mov rdi, rax
call sym.sqlite3ValueBytes.constprop.0
test rdi, rdi
mov edx, eax
sete al
or r13d, eax
test r13b, r13b
jne 0x14029170a
mov rax, qword [rbx]
mov ecx, r12d
shr ecx, 0x1f
add ecx, r12d
sar ecx, 1
mov r8, qword [rax + 0x18]
add ecx, 1
cmp ecx, dword [r8 + 0x88]
jg 0x140291a50
movsxd rsi, ecx
lea rax, [rsi - 1]
cmp rax, 0x7ffffefe
ja 0x140291920
mov eax, dword [0x1402b90a0]
test eax, eax
je 0x140291a81
mov rcx, qword [0x1402b8d40]
test rcx, rcx
je 0x1402917bc
mov dword [rsp + 0x3c], edx
call qword [0x1402b9120]
mov edx, dword [rsp + 0x3c]
mov rcx, rsi
mov dword [rsp + 0x3c], edx
call sym.sqlite3Malloc.part.0
movsxd rdx, dword [rsp + 0x3c]
mov r12, rax
test r12, r12
je 0x140291920
movzx eax, byte [r15]
xor r8d, r8d
mov r14, r12
lea r13, [0x140326460]
lea rbp, [0x1403267e0]
lea r11, [rdi + rdx]
test al, al
je 0x14029192e
mov rsi, r15
test byte [r13 + rax], 8
movzx edx, al
jne 0x1402919f6
movzx r10d, byte [rsi]
lea r8, [rsi + 1]
cmp r10b, 0xbf
ja 0x140291970
mov rsi, r8
mov rdx, rdi
jmp 0x14029183c
mov rdx, rcx
cmp r10d, eax
je 0x1402918d8
cmp rdx, r11
jae 0x140291950
movzx eax, byte [rdx]
lea rcx, [rdx + 1]
cmp al, 0xbf
jbe 0x140291830
movzx edx, byte [rdx + 1]
sub eax, 0xc0
movzx eax, byte [rbp + rax]
mov r9d, edx
and r9d, 0xffffffc0
cmp r9b, 0x80
jne 0x1402919e8
nop
and edx, 0x3f
shl eax, 6
add rcx, 1
add eax, edx
movzx edx, byte [rcx]
mov r9d, edx
and r9d, 0xffffffc0
cmp r9b, 0x80
je 0x140291870
cmp eax, 0x7f
jbe 0x1402918c0
mov edx, eax
and edx, 0xfffff800
cmp edx, 0xd800
je 0x1402918c0
mov r9d, eax
mov rdx, rcx
and r9d, 0xfffffffe
cmp r9d, 0xfffe
jne 0x140291833
nop dword [rax + rax]
mov eax, 0xfffd
mov rdx, rcx
cmp r10d, eax
jne 0x14029183c
nop dword [rax]
movzx eax, byte [r8]
test al, al
jne 0x140291800
mov r8d, r14d
sub r8d, r12d
jmp 0x14029192e
cmp byte [rcx + 0x16], 1
jne 0x1402916ae
mov r15, qword [rcx + 8]
test r15, r15
sete r13b
test al, 2
je 0x1402916df
mov r12d, dword [rcx + 0x10]
jmp 0x1402916f7
mov r13d, 1
xor r15d, r15d
jmp 0x1402916d1
mov rcx, rbx
call sym.sqlite3_result_error_nomem
xor r8d, r8d
xor r12d, r12d
lea rax, [sym.sqlite3_free]
xor r9d, r9d
mov rdx, r12
mov qword [rsp + 0x20], rax
mov rcx, rbx
call sym.setResultStrOrError
jmp 0x14029170a
mov rcx, r12
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3_free
lea eax, [r10 - 0xc0]
movzx r10d, byte [rbp + rax]
movzx eax, byte [rsi + 1]
mov edx, eax
and edx, 0xffffffc0
cmp dl, 0x80
jne 0x140291a98
nop
and eax, 0x3f
shl r10d, 6
add r8, 1
add r10d, eax
movzx eax, byte [r8]
mov edx, eax
and edx, 0xffffffc0
cmp dl, 0x80
je 0x140291990
cmp r10d, 0x7f
jbe 0x1402919d5
mov eax, r10d
and eax, 0xfffff800
cmp eax, 0xd800
je 0x1402919d5
mov eax, r10d
mov rsi, r8
and eax, 0xfffffffe
cmp eax, 0xfffe
jne 0x140291824
mov rsi, r8
mov r10d, 0xfffd
jmp 0x140291824
cmp eax, 0x7f
ja 0x140291830
jmp 0x1402918c0
movzx eax, byte [rsi + 1]
lea r15, [rsi + 2]
test byte [r13 + rax], 8
mov r8, rax
je 0x140291950
sar eax, 6
add r14, 1
and eax, 1
lea ecx, [rax + rax*8]
mov eax, edx
sar eax, 6
add ecx, r8d
and eax, 1
and ecx, 0xf
lea eax, [rax + rax*8]
add eax, edx
shl eax, 4
or ecx, eax
mov byte [r14 - 1], cl
movzx eax, byte [rsi + 2]
test al, al
jne 0x1402917fd
jmp 0x1402918e4
mov dword [rbx + 0x24], 0x12
mov r9d, 1
mov rcx, rax
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], 0
lea rdx, [0x140314596]
call sym.sqlite3VdbeMemSetStr
jmp 0x140291928
mov dword [rsp + 0x3c], edx
call qword [0x1402b90c0]
movsxd rdx, dword [rsp + 0x3c]
mov r12, rax
jmp 0x1402917d0
cmp r10d, 0x7f
ja 0x140291821
jmp 0x1402919d5