Function at 0x14028a3b0
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 0x14028a61c
test al, 1
jne 0x14028a642
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 0x14028a40f
cmp byte [rcx + 0x16], 1
je 0x14028a639
test al, 0x10
jne 0x14028a450
xor r12d, r12d
test al, 1
jne 0x14028a427
mov edx, 1
call sym.valueBytes
mov r12d, eax
lea rdi, [0x140329f88]
xor edx, edx
cmp ebp, 2
je 0x14028a46a
test r13b, r13b
je 0x14028a48f
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 0x14028a427
add r12d, dword [rcx]
lea rdi, [0x140329f88]
xor edx, edx
cmp ebp, 2
jne 0x14028a435
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 0x14028a43a
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 0x14028a780
movsxd rsi, ecx
lea rax, [rsi - 1]
cmp rax, 0x7ffffefe
ja 0x14028a650
mov eax, dword [0x1402b2060]
test eax, eax
je 0x14028a7b1
mov rcx, qword [0x1402b1d00]
test rcx, rcx
je 0x14028a4ec
mov dword [rsp + 0x3c], edx
call qword [0x1402b20e0]
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 0x14028a650
movzx eax, byte [r15]
xor r8d, r8d
mov r14, r12
lea r13, [0x14033c880]
lea rbp, [0x14033cc00]
lea r11, [rdi + rdx]
test al, al
je 0x14028a65e
mov rsi, r15
test byte [r13 + rax], 8
movzx edx, al
jne 0x14028a726
movzx r10d, byte [rsi]
lea r8, [rsi + 1]
cmp r10b, 0xbf
ja 0x14028a6a0
mov rsi, r8
mov rdx, rdi
jmp 0x14028a56c
mov rdx, rcx
cmp r10d, eax
je 0x14028a608
cmp rdx, r11
jae 0x14028a680
movzx eax, byte [rdx]
lea rcx, [rdx + 1]
cmp al, 0xbf
jbe 0x14028a560
movzx edx, byte [rdx + 1]
sub eax, 0xc0
movzx eax, byte [rbp + rax]
mov r9d, edx
and r9d, 0xffffffc0
cmp r9b, 0x80
jne 0x14028a718
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 0x14028a5a0
cmp eax, 0x7f
jbe 0x14028a5f0
mov edx, eax
and edx, 0xfffff800
cmp edx, 0xd800
je 0x14028a5f0
mov r9d, eax
mov rdx, rcx
and r9d, 0xfffffffe
cmp r9d, 0xfffe
jne 0x14028a563
nop dword [rax + rax]
mov eax, 0xfffd
mov rdx, rcx
cmp r10d, eax
jne 0x14028a56c
nop dword [rax]
movzx eax, byte [r8]
test al, al
jne 0x14028a530
mov r8d, r14d
sub r8d, r12d
jmp 0x14028a65e
cmp byte [rcx + 0x16], 1
jne 0x14028a3de
mov r15, qword [rcx + 8]
test r15, r15
sete r13b
test al, 2
je 0x14028a40f
mov r12d, dword [rcx + 0x10]
jmp 0x14028a427
mov r13d, 1
xor r15d, r15d
jmp 0x14028a401
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 0x14028a43a
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 0x14028a7c8
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 0x14028a6c0
cmp r10d, 0x7f
jbe 0x14028a705
mov eax, r10d
and eax, 0xfffff800
cmp eax, 0xd800
je 0x14028a705
mov eax, r10d
mov rsi, r8
and eax, 0xfffffffe
cmp eax, 0xfffe
jne 0x14028a554
mov rsi, r8
mov r10d, 0xfffd
jmp 0x14028a554
cmp eax, 0x7f
ja 0x14028a560
jmp 0x14028a5f0
movzx eax, byte [rsi + 1]
lea r15, [rsi + 2]
test byte [r13 + rax], 8
mov r8, rax
je 0x14028a680
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 0x14028a52d
jmp 0x14028a614
mov dword [rbx + 0x24], 0x12
mov r9d, 1
mov rcx, rax
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], 0
lea rdx, [0x14032adb6]
call sym.sqlite3VdbeMemSetStr
jmp 0x14028a658
mov dword [rsp + 0x3c], edx
call qword [0x1402b2080]
movsxd rdx, dword [rsp + 0x3c]
mov r12, rax
jmp 0x14028a500
cmp r10d, 0x7f
ja 0x14028a551
jmp 0x14028a705