Function at 0x140125c00
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, 0xc8
cmp qword [rcx + 0xa0], 0
mov r11, rcx
je 0x140125c48
mov eax, dword [rcx + 0x3c]
test eax, eax
jne 0x140125c6c
mov rax, qword [r11 + 0xa0]
add dword [rax], 1
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
mov qword [rsp + 0x110], rcx
call sym.fts5IndexDataVersion
mov r11, qword [rsp + 0x110]
mov qword [r11 + 0x98], rax
mov eax, dword [r11 + 0x3c]
test eax, eax
je 0x140125c70
xor eax, eax
jmp 0x140125c31
mov rcx, r11
mov edx, 0xa
mov qword [rsp + 0x110], r11
mov r12, qword [r11]
call sym.fts5DataRead
mov r11, qword [rsp + 0x110]
mov rsi, rax
mov edi, dword [r11 + 0x3c]
test edi, edi
je 0x140125cb0
mov qword [r11 + 0xa0], 0
xor eax, eax
jmp 0x140125c31
movsxd rax, dword [rax + 8]
pxor xmm0, xmm0
add rax, qword [rsi]
mov dword [rsp + 0xac], 0
mov dword [rax + 0x10], 0
movups xmmword [rax], xmm0
mov rbx, qword [rsi]
mov ebp, dword [rsi + 8]
mov dword [rsp + 0xb0], 0
mov eax, dword [rbx]
cmp dword [rbx + 4], 0x10000ff
mov dword [rsp + 0xb4], 0
mov dword [rsp + 0x98], eax
je 0x1401263ac
lea rcx, [rbx + 4]
mov r15d, 4
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x110], r11
mov rdx, rax
mov qword [rsp + 0x80], rax
call sym.sqlite3Fts5GetVarint32
lea rdx, [rsp + 0xb4]
add r15d, eax
mov qword [rsp + 0x58], rdx
movsxd rcx, r15d
add rcx, rbx
call sym.sqlite3Fts5GetVarint32
mov r10d, dword [rsp + 0xb0]
mov r11, qword [rsp + 0x110]
mov r14d, eax
cmp r10d, 0x7d0
ja 0x140126500
mov eax, dword [rsp + 0xb4]
mov dword [rsp + 0x48], eax
cmp eax, 0x7d0
jg 0x1401264bf
mov eax, dword [rsp + 0x48]
test eax, eax
js 0x1401264bf
lea edx, [r10 + 2]
lea rax, [rsp + 0xac]
mov dword [rsp + 0x50], r10d
movsxd rdx, edx
mov rcx, rax
mov qword [rsp + 0x110], r11
shl rdx, 4
mov qword [rsp + 0x88], rax
call sym.sqlite3Fts5MallocZero
mov r11, qword [rsp + 0x110]
test rax, rax
mov r13, rax
je 0x1401264e5
mov r10d, dword [rsp + 0x50]
movd xmm0, dword [rsp + 0x48]
add r15d, r14d
mov dword [rax], 1
movsxd rcx, r15d
lea rdx, [rax + 8]
movd xmm1, r10d
add rcx, rbx
punpckldq xmm0, xmm1
movq qword [rax + 0x18], xmm0
call sym.sqlite3Fts5GetVarint
mov r9d, dword [rsp + 0xac]
mov r11, qword [rsp + 0x110]
movzx r8d, al
test r9d, r9d
lea r14d, [r8 + r15]
jne 0x140126618
mov r10d, dword [rsp + 0x50]
test r10d, r10d
je 0x14012660c
lea eax, [r10 - 1]
mov qword [rsp + 0x68], r12
lea r15, [r13 + 0x20]
mov dword [rsp + 0x9c], eax
lea rax, [rsp + 0xb8]
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x90], rax
mov qword [rsp + 0x70], rsi
mov dword [rsp + 0x60], r10d
mov dword [rsp + 0x64], r9d
mov qword [rsp + 0x78], r13
mov r13d, r14d
mov r14d, ebp
nop dword [rax]
mov dword [rsp + 0xb8], 0
cmp r14d, r13d
jg 0x140126120
mov dword [rsp + 0xac], 0x10b
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r11, qword [rsp + 0x110]
test edi, edi
je 0x140125ebf
mov r15, qword [rsp + 0x50]
add r15, 1
mov qword [r13 + 0x10], r15
mov r9d, dword [rsp + 0xac]
test r9d, r9d
jne 0x14012635c
mov dword [r11 + 0x3c], 0
mov edi, dword [rsp + 0x98]
mov r8d, dword [r12 + 0x90]
bswap edi
test r8d, r8d
je 0x140125efc
cmp dword [r12 + 0x8c], edi
je 0x140126418
movdqu xmm0, xmmword [0x140177150]
mov r9, qword [r12 + 0x10]
mov dword [r12 + 0xa0], 0x100000
lea rdx, str.SELECT_k__v_FROM__Q._q_config
mov r8, qword [r12 + 8]
mov rcx, qword [rsp + 0x80]
mov dword [r12 + 0xbc], 0xa
movups xmmword [r12 + 0x90], xmm0
mov qword [rsp + 0x110], r11
mov qword [rsp + 0xb8], 0
mov dword [rsp + 0xb0], 0
call sym.sqlite3Fts5Mprintf
mov r11, qword [rsp + 0x110]
test rax, rax
mov rbx, rax
je 0x14012652e
lea rax, [rsp + 0xb8]
mov rcx, qword [r12]
mov r9d, pe_nt_image_headers64
mov rdx, rbx
mov qword [rsp + 0x30], 0
mov r8d, 0xffffffff
mov qword [rsp + 0x28], rax
mov qword [rsp + 0x20], 0
mov qword [rsp + 0x110], r11
call sym.sqlite3LockAndPrepare
mov rcx, rbx
mov dword [rsp + 0xb0], eax
mov ebp, eax
call sym.sqlite3_free
mov r11, qword [rsp + 0x110]
test ebp, ebp
jne 0x14012653a
mov qword [rsp + 0x50], rsi
mov rbx, qword [rsp + 0xb8]
lea r15, [0x140176460]
mov r14, r11
nop dword [rax]
mov rcx, rbx
call sym.sqlite3_step
cmp eax, 0x64
jne 0x1401263d3
xor edx, edx
mov rcx, rbx
call sym.columnMem
mov rsi, rax
test rax, rax
je 0x140126041
movzx eax, word [rax + 0x14]
mov edx, eax
and dx, 0x202
cmp dx, 0x202
je 0x1401263c0
test al, 1
jne 0x1401264b8
mov rcx, rsi
mov edx, 1
call sym.valueToText
mov rsi, rax
test rbx, rbx
je 0x1401260f0
mov rcx, rbx
call sym.columnMallocFailure.part.0
mov edx, 1
mov rcx, rbx
call sym.columnMem
mov r8, rax
movzx eax, word [rax + 0x14]
test ah, 0x20
je 0x140126076
and ah, 0xdf
or ah, 0x40
mov word [r8 + 0x14], ax
mov rcx, rbx
mov qword [rsp + 0x48], r8
call sym.columnMallocFailure.part.0
mov r8, qword [rsp + 0x48]
test rsi, rsi
je 0x1401260d8
mov r9, rsi
lea rcx, str.version
jmp 0x1401260b3
movzx edx, byte [r15 + rdx]
cmp byte [r15 + rax], dl
jne 0x1401260d8
add r9, 1
add rcx, 1
movzx eax, byte [r9]
movzx edx, byte [rcx]
cmp eax, edx
jne 0x1401260a0
test eax, eax
jne 0x1401260ab
mov rcx, r8
call sym.sqlite3VdbeIntValue
mov ebp, eax
jmp 0x140125ff0
mov r9, qword [rsp + 0x58]
mov rdx, rsi
mov rcx, r12
call sym.sqlite3Fts5ConfigSetValue
jmp 0x140125ff0
mov edx, 1
xor ecx, ecx
call sym.columnMem
mov r8, rax
movzx eax, word [rax + 0x14]
test ah, 0x20
je 0x140126088
and ah, 0xdf
or ah, 0x40
mov word [r8 + 0x14], ax
jmp 0x140126088
movsxd rcx, r13d
mov rdx, r15
add rcx, rbx
call sym.sqlite3Fts5GetVarint32
mov rdx, qword [rsp + 0x90]
add r13d, eax
movsxd rcx, r13d
add rcx, rbx
call sym.sqlite3Fts5GetVarint32
mov ebp, dword [rsp + 0xb8]
add r13d, eax
cmp dword [r15], ebp
jle 0x14012615e
mov dword [rsp + 0xac], 0x10b
movsxd rax, ebp
mov rcx, qword [rsp + 0x88]
lea rdx, [rax*8]
sub rdx, rax
shl rdx, 3
call sym.sqlite3Fts5MallocZero
sub dword [rsp + 0x48], ebp
mov qword [r15 + 8], rax
mov r12, rax
mov eax, dword [rsp + 0x48]
mov dword [rsp + 0xb4], eax
mov eax, dword [rsp + 0xac]
test eax, eax
jne 0x14012654d
mov dword [r15 + 4], ebp
test ebp, ebp
jle 0x1401262d0
cmp r14d, r13d
jle 0x1401262e2
mov ecx, ebp
mov esi, 0x38
lea rbp, [rcx*8]
mov rdx, rbp
sub rdx, rcx
lea rbp, [rdx*8]
jmp 0x14012620d
mov eax, dword [r12 + 4]
cmp dword [r12 + 8], eax
jl 0x1401262e2
cmp rbp, rsi
je 0x1401262ed
mov r12, qword [r15 + 8]
add r12, rsi
add rsi, 0x38
cmp r14d, r13d
jle 0x1401262e2
movsxd rcx, r13d
mov rdx, r12
add rcx, rbx
call sym.sqlite3Fts5GetVarint32
lea rdx, [r12 + 4]
add r13d, eax
movsxd rcx, r13d
add rcx, rbx
call sym.sqlite3Fts5GetVarint32
lea rdx, [r12 + 8]
add r13d, eax
movsxd rcx, r13d
add rcx, rbx
call sym.sqlite3Fts5GetVarint32
add r13d, eax
test edi, edi
je 0x1401261e0
movsxd rcx, r13d
lea rdx, [r12 + 0x10]
add rcx, rbx
call sym.sqlite3Fts5GetVarint
lea rdx, [r12 + 0x18]
movzx r9d, al
add r13d, r9d
movsxd rcx, r13d
add rcx, rbx
call sym.sqlite3Fts5GetVarint
lea rdx, [r12 + 0x20]
movzx eax, al
add r13d, eax
movsxd rcx, r13d
add rcx, rbx
call sym.sqlite3Fts5GetVarint32
lea rdx, [r12 + 0x28]
add r13d, eax
movsxd rcx, r13d
add rcx, rbx
call sym.sqlite3Fts5GetVarint
lea rdx, [r12 + 0x30]
movzx r9d, al
add r13d, r9d
movsxd rcx, r13d
add rcx, rbx
call sym.sqlite3Fts5GetVarint
mov rdx, qword [rsp + 0x50]
movzx eax, al
add r13d, eax
mov rax, qword [r12 + 0x18]
cmp rdx, rax
cmovae rax, rdx
mov qword [rsp + 0x50], rax
jmp 0x1401261e0
cmp dword [rsp + 0x64], 0
je 0x1401262ed
cmp dword [r15 - 0x10], 0
je 0x1401262ed
test ebp, ebp
jne 0x1401262ed
mov dword [rsp + 0xac], 0x10b
mov esi, dword [rsp + 0x64]
cmp dword [rsp + 0x9c], esi
je 0x14012651e
mov eax, dword [rsp + 0xac]
add dword [rsp + 0x64], 1
mov esi, dword [rsp + 0x64]
test eax, eax
jne 0x14012654d
add r15, 0x10
cmp dword [rsp + 0x60], esi
jne 0x140125e78
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r11, qword [rsp + 0x110]
mov r10d, dword [rsp + 0x48]
test r10d, r10d
je 0x140125eae
mov dword [rsp + 0xac], 0x10b
test edi, edi
jne 0x140125eb2
mov eax, dword [r13]
sub eax, 1
mov dword [r13], eax
test eax, eax
jle 0x1401265c5
mov eax, dword [rsp + 0xac]
mov dword [r11 + 0x3c], eax
mov rcx, rsi
mov qword [rsp + 0x110], r11
call sym.sqlite3_free
mov r11, qword [rsp + 0x110]
cmp dword [r11 + 0x3c], 0
jne 0x140125c9b
xor r13d, r13d
mov qword [r11 + 0xa0], r13
jmp 0x140125c27
lea rcx, [rbx + 8]
mov edi, 1
mov r15d, 8
jmp 0x140125d0c
cmp byte [rsi + 0x16], 1
jne 0x140126029
mov rsi, qword [rsi + 8]
jmp 0x140126041
mov rcx, rbx
mov qword [rsp + 0x110], r14
mov rsi, qword [rsp + 0x50]
call sym.sqlite3_finalize
mov r11, qword [rsp + 0x110]
test eax, eax
jne 0x1401265b8
lea edx, [rbp - 4]
cmp edx, 1
ja 0x140126569
mov dword [r12 + 0x88], ebp
mov dword [r12 + 0x8c], edi
mov dword [r11 + 0x3c], eax
mov rcx, rsi
mov qword [rsp + 0x110], r11
call sym.sqlite3_free
mov r11, qword [rsp + 0x110]
mov ecx, dword [r11 + 0x3c]
test ecx, ecx
je 0x1401263a0
test r13, r13
je 0x140125c9b
mov eax, dword [r13]
sub eax, 1
mov dword [r13], eax
test eax, eax
jg 0x140125c9b
mov edx, dword [r13 + 0x1c]
xor ebx, ebx
mov rsi, r11
test edx, edx
jle 0x140126486
nop dword [rax]
mov rax, rbx
add rbx, 1
shl rax, 4
mov rcx, qword [r13 + rax + 0x28]
call sym.sqlite3_free
cmp dword [r13 + 0x1c], ebx
jg 0x140126468
mov r11, rsi
mov rcx, r13
mov qword [rsp + 0x110], r11
call sym.sqlite3_free
mov r11, qword [rsp + 0x110]
mov eax, dword [r11 + 0x3c]
nop word [rax + rax]
mov qword [r11 + 0xa0], 0
jmp 0x140125c23
xor esi, esi
jmp 0x140126041
mov dword [r11 + 0x3c], 0x10b
mov rcx, rsi
mov qword [rsp + 0x110], r11
call sym.sqlite3_free
mov r11, qword [rsp + 0x110]
mov eax, dword [r11 + 0x3c]
jmp 0x1401264a8
mov eax, dword [rsp + 0xac]
mov dword [r11 + 0x3c], eax
test eax, eax
je 0x140125ed8
jmp 0x14012637a
mov dword [r11 + 0x3c], 0x10b
mov rcx, rsi
call sym.sqlite3_free
mov r11, qword [rsp + 0x110]
mov eax, dword [r11 + 0x3c]
jmp 0x1401264a8
mov esi, dword [r15]
test esi, esi
jne 0x140125e8c
jmp 0x1401262fe
mov ebp, dword [rsp + 0xb0]
jmp 0x140125fce
mov dword [r12 + 0x88], 0
mov eax, ebp
jmp 0x140126414
mov r12, qword [rsp + 0x68]
mov rsi, qword [rsp + 0x70]
mov r13, qword [rsp + 0x78]
mov r11, qword [rsp + 0x110]
jmp 0x140125eae
mov rbx, qword [r12 + 0xc0]
mov dword [rsp + 0xb0], 1
test rbx, rbx
je 0x1401265ae
mov r9d, 5
mov r8d, 4
mov edx, ebp
mov qword [rsp + 0x110], r11
lea rcx, str.invalid_fts5_file_format__found__d__expected__d_or__d____run_rebuild
call sym.sqlite3_mprintf
mov r11, qword [rsp + 0x110]
mov qword [rbx], rax
mov eax, 1
jmp 0x140126414
mov dword [r12 + 0x88], ebp
jmp 0x140126414
xor ebx, ebx
cmp dword [r13 + 0x1c], 0
mov rdi, r11
jle 0x1401265ef
mov rax, rbx
add rbx, 1
shl rax, 4
mov rcx, qword [r13 + rax + 0x28]
call sym.sqlite3_free
cmp dword [r13 + 0x1c], ebx
jg 0x1401265d1
mov r11, rdi
mov rcx, r13
mov qword [rsp + 0x110], r11
call sym.sqlite3_free
mov r11, qword [rsp + 0x110]
jmp 0x14012636f
xor ebx, ebx
mov qword [rsp + 0x50], rbx
jmp 0x14012633b
xor eax, eax
mov qword [rsp + 0x50], rax
jmp 0x140126354