Function at 0x1402965e0
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 r12, rcx
mov rcx, qword [r8]
mov ebp, edx
mov rsi, r8
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x140296857
test al, 1
jne 0x14029687c
mov edx, 1
call sym.valueToText
mov rcx, qword [rsi]
mov r15, rax
test r15, r15
movzx eax, word [rcx + 0x14]
sete r13b
test al, 2
je 0x140296642
cmp byte [rcx + 0x16], 1
je 0x140296874
test al, 0x10
jne 0x140296680
xor edi, edi
test al, 1
jne 0x140296658
mov edx, 1
call sym.valueBytes
mov edi, eax
xor edx, edx
lea rbx, [0x140330c0e]
cmp ebp, 2
je 0x140296698
test r13b, r13b
je 0x1402966bd
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov edi, dword [rcx + 0x10]
test ah, 4
je 0x140296658
add edi, dword [rcx]
xor edx, edx
lea rbx, [0x140330c0e]
cmp ebp, 2
jne 0x140296666
mov rcx, qword [rsi + 8]
call sym.sqlite3ValueText.constprop.0
mov rcx, qword [rsi + 8]
mov rbx, rax
call sym.sqlite3ValueBytes.constprop.0
test rbx, rbx
mov edx, eax
sete al
or r13d, eax
test r13b, r13b
jne 0x14029666b
mov eax, edi
shr eax, 0x1f
add eax, edi
sar eax, 1
add eax, 1
test r12, r12
je 0x140296a20
mov rcx, qword [r12]
mov r8, qword [rcx + 0x18]
cmp eax, dword [r8 + 0x88]
jg 0x14029688a
movsxd rcx, eax
mov dword [rsp + 0x3c], edx
call sym.sqlite3Malloc
mov r13, rax
test rax, rax
je 0x140296a08
movsxd rdx, dword [rsp + 0x3c]
movzx eax, byte [r15]
mov r14, r13
lea rdi, [0x140344300]
lea rsi, [0x140344680]
mov ebp, 0xfffd
lea r9, [rbx + rdx]
test al, al
je 0x140296a10
mov r11, r15
nop dword [rax]
movzx edx, al
test byte [rdi + rax], 8
jne 0x1402969a1
movzx r8d, byte [r11]
lea r10, [r11 + 1]
cmp r8b, 0xbf
ja 0x140296910
mov r11, r10
mov rdx, rbx
jmp 0x14029676c
mov rdx, rcx
cmp r8d, eax
je 0x140296800
cmp r9, rdx
jbe 0x1402968e0
movzx eax, byte [rdx]
lea rcx, [rdx + 1]
cmp al, 0xbf
jbe 0x140296760
movzx edx, byte [rdx + 1]
sub eax, 0xc0
movzx eax, byte [rsi + rax]
mov r15d, edx
and r15d, 0xffffffc0
cmp r15b, 0x80
jne 0x140296980
nop
and edx, 0x3f
shl eax, 6
add rcx, 1
add eax, edx
movzx edx, byte [rcx]
mov r15d, edx
and r15d, 0xffffffc0
cmp r15b, 0x80
je 0x1402967a0
cmp eax, 0x7f
jbe 0x140296900
mov edx, eax
and edx, 0xfffff800
cmp edx, 0xd800
je 0x140296900
mov r15d, eax
mov rdx, rcx
and r15d, 0xfffffffe
cmp r15d, 0xfffe
cmove eax, ebp
cmp r8d, eax
jne 0x14029676c
nop word cs:[rax + rax]
movzx eax, byte [r10]
test al, al
jne 0x140296730
sub r14, r13
mov r8d, r14d
test r14d, r14d
jns 0x1402968bb
mov rcx, r13
call sym.sqlite3_free
mov rcx, qword [r12]
mov dword [r12 + 0x24], 0x12
mov r9d, 1
mov qword [rsp + 0x20], 0
mov r8, 0xffffffffffffffff
lea rdx, [0x140332721]
call sym.sqlite3VdbeMemSetStr
jmp 0x14029666b
cmp byte [rcx + 0x16], 1
jne 0x140296611
mov r15, qword [rcx + 8]
test r15, r15
sete r13b
test al, 2
je 0x140296642
mov edi, dword [rcx + 0x10]
jmp 0x140296658
mov r13d, 1
xor r15d, r15d
jmp 0x140296634
mov r8, 0xffffffffffffffff
mov r9d, 1
lea rdx, [0x140332721]
xor r13d, r13d
mov dword [r12 + 0x24], 0x12
mov qword [rsp + 0x20], 0
call sym.sqlite3VdbeMemSetStr
xor r8d, r8d
lea rax, [sym.sqlite3_free]
xor r9d, r9d
mov rdx, r13
mov rcx, r12
mov qword [rsp + 0x20], rax
call sym.setResultStrOrError
jmp 0x14029666b
mov rcx, r13
add rsp, 0x48
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3_free
mov rdx, rcx
mov eax, 0xfffd
jmp 0x140296763
lea eax, [r8 - 0xc0]
movzx r8d, byte [rsi + rax]
movzx eax, byte [r11 + 1]
mov edx, eax
and edx, 0xffffffc0
cmp dl, 0x80
jne 0x1402969f3
nop
and eax, 0x3f
shl r8d, 6
add r10, 1
add r8d, eax
movzx eax, byte [r10]
mov edx, eax
and edx, 0xffffffc0
cmp dl, 0x80
je 0x140296930
cmp r8d, 0x7f
jbe 0x140296993
mov eax, r8d
and eax, 0xfffff800
cmp eax, 0xd800
je 0x140296993
mov eax, r8d
mov r11, r10
and eax, 0xfffffffe
cmp eax, 0xfffe
cmove r8d, ebp
jmp 0x140296752
mov rdx, rcx
cmp eax, 0x7f
mov ecx, 0xfffd
cmovbe eax, ecx
jmp 0x140296763
mov r11, r10
mov r8d, 0xfffd
jmp 0x140296752
movzx eax, byte [r11 + 1]
lea r15, [r11 + 2]
mov rcx, rax
test byte [rdi + rax], 8
je 0x1402968e0
mov eax, edx
add r14, 1
sar eax, 6
and eax, 1
lea eax, [rax + rax*8]
add edx, eax
mov eax, ecx
sar eax, 6
shl edx, 4
and eax, 1
lea eax, [rax + rax*8]
add eax, ecx
and eax, 0xf
or edx, eax
mov byte [r14 - 1], dl
movzx eax, byte [r11 + 2]
test al, al
jne 0x14029672a
jmp 0x14029680c
cmp r8d, 0x7f
mov eax, 0xfffd
mov r11, r10
cmovbe r8d, eax
jmp 0x140296752
mov rcx, r12
call sym.sqlite3_result_error_nomem
xor r8d, r8d
jmp 0x1402968bb
mov eax, dword [0x88]
ud2