Function at 0x14015ddb0
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, 0x78
mov rax, qword [rcx]
mov rax, qword [rax + 0x18]
mov r13, rcx
mov rcx, qword [r8]
mov qword [rsp + 0x50], rax
mov rbx, r8
test rcx, rcx
je 0x14015e047
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x14015e078
test al, 1
jne 0x14015e047
mov edx, 1
call dbg.valueToText
mov r12, rax
test r12, r12
je 0x14015e047
mov rcx, qword [rbx]
mov edx, 1
call sym.sqlite3ValueBytes
mov rcx, qword [rbx + 8]
mov dword [rsp + 0x48], eax
test rcx, rcx
je 0x14015e047
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x14015e060
test al, 1
jne 0x14015e047
mov edx, 1
call dbg.valueToText
mov rbp, rax
test rbp, rbp
je 0x14015e047
cmp byte [rbp], 0
je 0x14015e0a0
mov rcx, qword [rbx + 8]
mov edx, 1
call sym.sqlite3ValueBytes
mov rcx, qword [rbx + 0x10]
mov dword [rsp + 0x3c], eax
test rcx, rcx
je 0x14015e047
movzx eax, word [rcx + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x14015e110
test al, 1
jne 0x14015e047
mov edx, 1
call dbg.valueToText
mov qword [rsp + 0x58], rax
cmp qword [rsp + 0x58], 0
je 0x14015e047
mov rcx, qword [rbx + 0x10]
mov edx, 1
call sym.sqlite3ValueBytes
mov edi, dword [rsp + 0x48]
mov rcx, r13
mov dword [rsp + 0x38], eax
mov r15d, eax
lea eax, [rdi + 1]
cdqe
mov rdx, rax
mov qword [rsp + 0x40], rax
call dbg.contextMalloc
mov r14, rax
test rax, rax
je 0x14015e047
mov edx, dword [rsp + 0x3c]
sub edi, edx
js 0x14015e1cb
mov eax, r15d
movsxd rcx, edx
mov r15, rbp
mov qword [rsp + 0x68], r13
sub eax, edx
mov rbp, r12
mov dword [rsp + 0x4c], 0
mov r12, r14
cdqe
xor esi, esi
xor ebx, ebx
mov r14, rcx
mov qword [rsp + 0x60], rax
jmp 0x14015df55
movsxd rax, esi
add ebx, 1
add esi, 1
mov byte [r12 + rax], r13b
cmp edi, ebx
jl 0x14015dff0
movsxd rcx, ebx
add rcx, rbp
movzx r13d, byte [rcx]
cmp r13b, byte [r15]
jne 0x14015df40
mov r8, r14
mov rdx, r15
call sym.memcmp
test eax, eax
jne 0x14015df40
mov edx, dword [rsp + 0x38]
cmp dword [rsp + 0x3c], edx
jge 0x14015e090
mov rdx, qword [rsp + 0x60]
add qword [rsp + 0x40], rdx
mov rax, qword [rsp + 0x40]
lea rdx, [rax - 1]
mov rax, qword [rsp + 0x50]
movsxd rax, dword [rax + 0x88]
cmp rdx, rax
jg 0x14015e17e
mov eax, dword [rsp + 0x4c]
lea r13d, [rax + 1]
test eax, r13d
je 0x14015e0c8
movsxd rcx, esi
movsxd r8, dword [rsp + 0x38]
mov rdx, qword [rsp + 0x58]
add rcx, r12
call sym.memcpy
mov eax, dword [rsp + 0x3c]
mov dword [rsp + 0x4c], r13d
add esi, dword [rsp + 0x38]
lea ebx, [rbx + rax - 1]
add ebx, 1
cmp edi, ebx
jge 0x14015df55
nop dword [rax + rax]
mov r14, r12
movsxd rax, ebx
mov r12, rbp
sub dword [rsp + 0x48], ebx
add r12, rax
mov eax, dword [rsp + 0x48]
movsxd rcx, esi
mov r13, qword [rsp + 0x68]
add rcx, r14
add esi, eax
movsxd r8, dword [rsp + 0x48]
mov rdx, r12
call sym.memcpy
movsxd rax, esi
mov r8d, esi
mov rdx, r14
mov byte [r14 + rax], 0
lea rax, [sym.sqlite3_free]
mov r9d, 1
mov rcx, r13
mov qword [rsp + 0x20], rax
call dbg.setResultStrOrError
nop
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [rcx + 0x16], 1
jne 0x14015de46
mov rbp, qword [rcx + 8]
jmp 0x14015de5b
cmp byte [rcx + 0x16], 1
jne 0x14015ddf4
mov r12, qword [rcx + 8]
jmp 0x14015de09
mov r13d, dword [rsp + 0x4c]
jmp 0x14015dfba
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r8d, dword [rsp + 0x48]
mov rdx, r12
mov rcx, r13
mov r9d, 1
call dbg.setResultStrOrError
jmp 0x14015e047
mov rcx, qword [rsp + 0x40]
movsxd rax, dword [rsp + 0x48]
mov rdx, rcx
sub rdx, rax
movsxd rax, ecx
lea rdx, [rdx + rax - 1]
test rdx, rdx
je 0x14015e1b6
cmp rdx, 0x7ffffeff
ja 0x14015e128
mov rcx, r12
call sym.sqlite3Realloc.part.0
test rax, rax
je 0x14015e128
mov r12, rax
jmp 0x14015dfba
cmp byte [rcx + 0x16], 1
jne 0x14015dea3
mov rax, qword [rcx + 8]
mov qword [rsp + 0x58], rax
jmp 0x14015deba
mov r13, qword [rsp + 0x68]
mov r14, r12
mov rcx, qword [r13]
test word [rcx + 0x14], 0x9000
jne 0x14015e1d7
mov eax, 1
mov word [rcx + 0x14], ax
mov rcx, qword [rcx + 0x18]
mov dword [r13 + 0x24], 7
cmp byte [rcx + 0x67], 0
jne 0x14015e166
cmp byte [rcx + 0x68], 0
jne 0x14015e166
call sym.sqlite3OomFault.part.0
mov rcx, r14
add rsp, 0x78
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
jmp sym.sqlite3_free
mov r13, qword [rsp + 0x68]
mov r9d, 1
mov r14, r12
mov r8, 0xffffffffffffffff
lea rdx, str.string_or_blob_too_big
mov dword [r13 + 0x24], 0x12
mov qword [rsp + 0x20], 0
mov rcx, qword [r13]
call dbg.sqlite3VdbeMemSetStr
jmp 0x14015e166
mov rcx, r12
mov r13, qword [rsp + 0x68]
mov r14, r12
call sym.sqlite3_free
jmp 0x14015e130
mov esi, dword [rsp + 0x48]
mov rcx, rax
jmp 0x14015e011
call dbg.vdbeMemClearExternAndSetNull
mov rcx, qword [r13]
jmp 0x14015e149