Function at 0x1401aeb40
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
xor r14d, r14d
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x118], rdx
mov dword [rsp + 0x120], r8d
mov qword [rsp + 0x128], r9
mov dword [rsp + 0x3c], r8d
mov qword [rsp + 0x68], 0
mov dword [rsp + 0x4c], 1
nop dword [rax]
mov rax, qword [rsp + 0x110]
mov r15, qword [rsp + 0x118]
mov qword [rsp + 0xa8], 0
mov dword [rax + 0x24], 0
mov eax, dword [rsp + 0x3c]
mov ebx, eax
test eax, eax
jle 0x1401af9bb
nop dword [rax]
movzx eax, byte [r15]
lea edx, [rax - 9]
cmp dl, 4
jbe 0x1401aeeb0
cmp al, 0x20
je 0x1401aeeb0
lea rsi, [0x140396ee0]
xor eax, eax
lea r12, [rsi + 0x40]
test al, 0xfe
jne 0x1401aec48
movzx r13d, byte [rsi + 8]
cmp ebx, r13d
jl 0x1401aec48
movzx edi, r13b
mov rdx, qword [rsi]
mov rcx, r15
mov r8, rdi
call sym.memcmp
test eax, eax
jne 0x1401aec48
movzx edx, byte [rsi + 0xa]
cmp dl, 1
je 0x1401af2e0
mov eax, 0xa
movzx ecx, byte [r15 + rdi]
cmp cl, 0x29
ja 0x1401aec48
movabs rdi, 0x30500003e01
bt rdi, rcx
jb 0x1401af840
nop dword [rax]
add rsi, 0x10
cmp rsi, r12
je 0x1401aec62
movzx eax, byte [rsi + 9]
test al, 0xfe
je 0x1401aebf1
add rsi, 0x10
cmp rsi, r12
jne 0x1401aec51
movzx eax, byte [r15]
cmp al, 0x22
je 0x1401aeec8
cmp al, 0x28
je 0x1401af360
cmp al, 0x29
mov rax, qword [rsp + 0x110]
je 0x1401af887
mov eax, dword [rax + 0x20]
mov dword [rsp + 0x40], eax
mov rax, qword [rsp + 0x110]
movsxd rsi, dword [rax + 0x1c]
test esi, esi
jle 0x1401af218
mov rdi, qword [rax + 0x10]
xor r12d, r12d
jmp 0x1401aecbd
add r12, 1
cmp rsi, r12
je 0x1401af218
mov r13, qword [rdi + r12*8]
mov rcx, r13
call sym.strlen
mov rbp, rax
cmp ebx, eax
jle 0x1401aecb0
cdqe
cmp byte [r15 + rax], 0x3a
jne 0x1401aecb0
mov r8d, ebp
mov rdx, r15
mov rcx, r13
call sym.sqlite3_strnicmp.part.0
test eax, eax
jne 0x1401aecb0
mov r10, r15
sub r10, qword [rsp + 0x118]
mov edi, dword [rsp + 0x3c]
mov dword [rsp + 0x40], r12d
lea eax, [r10 + rbp + 1]
mov dword [rsp + 0x48], eax
movsxd rbp, eax
sub edi, eax
add rbp, qword [rsp + 0x118]
nop dword [rax]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax]
mov rax, qword [rcx]
mov r13, rax
test edi, edi
jle 0x1401af92a
mov rdx, rbp
xor ebx, ebx
jmp 0x1401aed4f
cmp al, 0x22
je 0x1401aed5c
add ebx, 1
add rdx, 1
cmp ebx, edi
je 0x1401aed5c
movzx eax, byte [rdx]
lea r8d, [rax - 0x28]
cmp r8b, 1
ja 0x1401aed40
mov rax, qword [rsp + 0x110]
mov r9d, ebx
mov r8, rbp
xor r15d, r15d
mov edx, dword [rax + 8]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
call dbg.sqlite3Fts3OpenTokenizer
mov esi, eax
test eax, eax
jne 0x1401aee20
lea rax, [rsp + 0xa4]
lea r12, [rsp + 0xb8]
mov dword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov rdx, r12
lea rax, [rsp + 0xa0]
lea r9, [rsp + 0x9c]
mov qword [rsp + 0x20], rax
lea r8, [rsp + 0x98]
mov dword [rsp + 0x9c], 0
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
call qword [r13 + 0x28]
test eax, eax
je 0x1401af71d
test ebx, ebx
je 0x1401af713
cmp eax, 0x65
jne 0x1401af713
mov rax, r13
mov rcx, qword [rsp + 0xb0]
call qword [rax + 0x20]
add ebx, dword [rsp + 0x48]
mov qword [rsp + 0xa8], r15
mov dword [rsp + 0x48], ebx
test esi, esi
jne 0x1401af072
mov r9, qword [rsp + 0xa8]
test r9, r9
je 0x1401af3d8
mov edx, dword [r9]
cmp edx, 5
je 0x1401aee5c
cmp qword [r9 + 0x10], 0
je 0x1401af54b
cmp dword [rsp + 0x4c], 1
jne 0x1401af420
xor eax, eax
test r14, r14
jne 0x1401af947
cmp qword [rsp + 0x68], 0
mov r14, qword [rsp + 0xa8]
je 0x1401af4df
mov qword [rax + 0x18], r14
mov dword [rsp + 0x4c], 0
mov qword [r14 + 8], rax
movsxd rbx, dword [rsp + 0x48]
sub dword [rsp + 0x3c], ebx
add qword [rsp + 0x118], rbx
jmp 0x1401aeb90
add r15, 1
sub ebx, 1
jne 0x1401aebc8
jmp 0x1401af8a0
lea rdx, [r15 + 1]
mov eax, 1
mov ecx, 1
cmp ebx, 1
jg 0x1401aeeef
jmp 0x1401aeef6
add eax, 1
add rdx, 1
cmp ebx, eax
je 0x1401af3f0
cmp byte [rdx], 0x22
jne 0x1401aeee0
mov ecx, eax
mov rdx, r15
sub rdx, qword [rsp + 0x118]
lea edi, [rcx + rdx + 1]
mov dword [rsp + 0x48], edi
cmp ebx, eax
je 0x1401af404
lea r9d, [rax - 1]
mov rax, qword [rsp + 0x110]
lea r8, [r15 + 1]
mov dword [rsp + 0x74], r9d
mov rcx, qword [rax]
mov qword [rsp + 0x78], r8
mov rax, qword [rcx]
mov qword [rsp + 0xb0], 0
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x110]
mov edx, dword [rax + 8]
lea rax, [rsp + 0xb0]
mov qword [rsp + 0x20], rax
call dbg.sqlite3Fts3OpenTokenizer
mov dword [rsp + 0x70], 0
mov esi, eax
test eax, eax
jne 0x1401af5b2
lea rax, [rsp + 0xa4]
mov ecx, 0xc0
mov qword [rsp + 0x60], 0
lea r12, [rsp + 0xb8]
mov qword [rsp + 0x58], rax
lea rax, [rsp + 0xa0]
xor ebp, ebp
lea rdi, [rsp + 0x9c]
mov qword [rsp + 0x50], rax
lea r13, [rsp + 0x98]
mov qword [rsp + 0x80], r15
mov r15, rcx
mov qword [rsp + 0x88], r14
mov r14, r12
nop dword [rax]
mov rax, qword [rsp + 0x58]
mov r9, rdi
mov r8, r13
mov rdx, r14
mov dword [rsp + 0x98], 0
mov rcx, qword [rsp + 0xb0]
mov qword [rsp + 0x28], rax
mov rax, qword [rsp + 0x50]
mov dword [rsp + 0x9c], 0
mov qword [rsp + 0x20], rax
mov rax, qword [rsp + 0x40]
mov dword [rsp + 0xa0], 0
mov dword [rsp + 0xa4], 0
call qword [rax + 0x28]
mov r12d, eax
test eax, eax
je 0x1401af090
mov rax, qword [rsp + 0x40]
mov r14, qword [rsp + 0x88]
mov rcx, qword [rsp + 0xb0]
call qword [rax + 0x20]
mov eax, esi
mov esi, r12d
mov qword [rsp + 0xb0], 0
cmp esi, 0x65
je 0x1401af5c8
mov qword [rsp + 0xa8], rbp
test esi, esi
je 0x1401aee38
mov edi, dword [rsp + 0x48]
sub dword [rsp + 0x3c], edi
cmp esi, 0x65
je 0x1401af8a0
mov dword [rsp + 0x4c], esi
jmp 0x1401af280
mov r10d, dword [0x140248ef4]
test r10d, r10d
jne 0x1401af4f8
call dbg.sqlite3MutexInit
test eax, eax
jne 0x1401af238
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1401af238
test rbp, rbp
je 0x1401af504
cmp r15, 0x7ffffeff
ja 0x1401af238
mov rdx, r15
mov rcx, rbp
call sym.sqlite3Realloc.part.0
mov rbx, rax
test rbx, rbx
je 0x1401af238
mov eax, dword [0x140248ef4]
mov ebp, dword [rsp + 0x98]
test eax, eax
jne 0x1401af518
call dbg.sqlite3MutexInit
test eax, eax
jne 0x1401af3a0
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1401af3a0
lea edx, [rbp + rsi]
cmp qword [rsp + 0x60], 0
movsxd rdx, edx
je 0x1401af52e
test rdx, rdx
je 0x1401af910
cmp rdx, 0x7ffffeff
ja 0x1401af3a0
mov rcx, qword [rsp + 0x60]
call sym.sqlite3Realloc.part.0
mov rbp, rax
test rbp, rbp
je 0x1401af3a0
lea rax, [rbx + r15 - 0x28]
movsxd rcx, esi
mov qword [rax], 0
add rcx, rbp
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov rdx, qword [rsp + 0xb8]
movsxd r8, dword [rsp + 0x98]
call sym.memcpy
movsxd rax, dword [rsp + 0x70]
mov edx, dword [rsp + 0x98]
lea rcx, [rax + rax*4]
add esi, edx
mov dword [rbx + rcx*8 + 0xa0], edx
movsxd rdx, dword [rsp + 0xa0]
cmp dword [rsp + 0x74], edx
jg 0x1401af3c0
xor edx, edx
lea rcx, [rax + rax*4]
mov dword [rbx + rcx*8 + 0xa4], edx
movsxd rdx, dword [rsp + 0x9c]
test edx, edx
jle 0x1401af1f3
mov rcx, qword [rsp + 0x80]
xor r12d, r12d
cmp byte [rcx + rdx], 0x5e
sete r12b
lea rax, [rax + rax*4]
mov qword [rsp + 0x60], rbp
add r15, 0x28
mov rbp, rbx
add dword [rsp + 0x70], 1
mov dword [rbx + rax*8 + 0xa8], r12d
jmp 0x1401aefd0
mov dword [rsp + 0x48], 0
mov rbp, qword [rsp + 0x118]
mov edi, dword [rsp + 0x3c]
jmp 0x1401aed18
mov rcx, rbp
xor edi, edi
call sym.sqlite3_free
mov rcx, qword [rsp + 0xb0]
test rcx, rcx
je 0x1401af257
mov rax, qword [rsp + 0x40]
call qword [rax + 0x20]
mov rcx, qword [rsp + 0x60]
call sym.sqlite3_free
mov rcx, rdi
call sym.sqlite3_free
mov edi, dword [rsp + 0x48]
sub dword [rsp + 0x3c], edi
mov dword [rsp + 0x4c], 7
nop dword [rax]
mov rdi, qword [rsp + 0x130]
mov eax, dword [rsp + 0x120]
sub eax, dword [rsp + 0x3c]
mov dword [rdi], eax
mov rcx, qword [rsp + 0x68]
call dbg.sqlite3Fts3ExprFree
xor ecx, ecx
call dbg.sqlite3Fts3ExprFree
mov qword [rsp + 0x68], 0
mov rax, qword [rsp + 0x128]
mov rdi, qword [rsp + 0x68]
mov qword [rax], rdi
mov eax, dword [rsp + 0x4c]
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret
cmp byte [r15 + 4], 0x2f
jne 0x1401aec1e
movzx ecx, byte [r15 + 5]
sub ecx, 0x30
cmp cl, 9
ja 0x1401aec1e
movzx ecx, byte [r15 + rdi + 1]
sub ecx, 0x30
cmp cl, 9
ja 0x1401af9b0
movsx rax, cl
mov r8d, 1
lea r10, [r15 + rdi]
jmp 0x1401af33c
movsx rcx, cl
lea rax, [rax + rax*4]
add r8, 1
lea rax, [rcx + rax*2]
mov ecx, 0x80000000
cmp rax, rcx
jae 0x1401aec1e
movzx ecx, byte [r10 + r8 + 1]
mov r9d, r8d
sub ecx, 0x30
cmp cl, 9
jbe 0x1401af31e
add r9d, 1
add r13d, r9d
movsxd rdi, r13d
jmp 0x1401aec23
mov rax, qword [rsp + 0x110]
mov rdi, qword [rsp + 0x110]
mov dword [rsp + 0xb8], 0
mov eax, dword [rax + 0x30]
mov dword [rsp + 0x48], eax
add eax, 1
mov dword [rdi + 0x30], eax
cmp eax, 0x3e8
jle 0x1401af6ad
mov dword [rsp + 0x4c], 1
jmp 0x1401af280
mov rdi, rbx
mov rcx, qword [rsp + 0x60]
call sym.sqlite3_free
mov qword [rsp + 0x60], 0
jmp 0x1401af242
mov rcx, qword [rsp + 0x78]
cmp byte [rcx + rdx], 0x2a
sete dl
movzx edx, dl
jmp 0x1401af1c9
movsxd rbx, dword [rsp + 0x48]
sub dword [rsp + 0x3c], ebx
add qword [rsp + 0x118], rbx
jmp 0x1401aeb90
mov r10, r15
sub r10, qword [rsp + 0x118]
lea eax, [rbx + r10 + 1]
mov dword [rsp + 0x48], eax
mov edi, dword [rsp + 0x48]
mov dword [rsp + 0x4c], 1
sub dword [rsp + 0x3c], edi
jmp 0x1401af280
mov r8d, dword [0x140248ef4]
test r8d, r8d
jne 0x1401af8e0
call dbg.sqlite3MutexInit
test eax, eax
jne 0x1401af6f9
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1401af6f9
mov ecx, 0x40
call sym.sqlite3Malloc
test rax, rax
je 0x1401af6f9
mov qword [rax], 0
mov qword [rax + 8], 0
mov qword [rax + 0x10], 0
mov qword [rax + 0x18], 0
mov qword [rax + 0x20], 0
mov qword [rax + 0x28], 0
mov qword [rax + 0x30], 0
mov qword [rax + 0x38], 0
mov dword [rax], 3
jmp 0x1401af4b2
cmp dword [r14], 3
jg 0x1401af53e
mov rdx, r14
mov r14, qword [r14 + 8]
test r14, r14
jne 0x1401af4a8
mov qword [rsp + 0x68], rax
cmp qword [rsp + 0x68], 0
mov qword [rax + 0x10], rdx
mov r14, qword [rsp + 0xa8]
mov qword [rdx + 8], rax
jne 0x1401aee86
mov qword [rsp + 0x68], r14
mov dword [rsp + 0x4c], 0
jmp 0x1401aee96
mfence
test rbp, rbp
jne 0x1401af0c3
mov rcx, r15
call sym.sqlite3Malloc
mov rbx, rax
jmp 0x1401af0de
mfence
lea edx, [rbp + rsi]
movsxd rdx, edx
cmp qword [rsp + 0x60], 0
jne 0x1401af129
mov rcx, rdx
call sym.sqlite3Malloc
mov rbp, rax
jmp 0x1401af14c
mov qword [r14 + 0x18], rax
mov qword [rax + 8], r14
jmp 0x1401af4c3
mov ecx, dword [rsp + 0x4c]
test ecx, ecx
jne 0x1401af954
test r14, r14
je 0x1401af56b
cmp edx, 1
jne 0x1401af56b
cmp dword [r14], 5
jne 0x1401af967
mov rax, qword [rsp + 0xa8]
jmp 0x1401af57f
mov edi, dword [rax]
cmp dword [r14], edi
jg 0x1401af5a8
mov rdx, r14
mov r14, qword [r14 + 8]
test r14, r14
jne 0x1401af578
mov qword [rsp + 0x68], rax
mov qword [rax + 0x10], rdx
mov r14, rax
mov qword [rdx + 8], rax
mov dword [rsp + 0x4c], 1
jmp 0x1401aee96
mov qword [r14 + 0x18], rax
mov qword [rax + 8], r14
jmp 0x1401af590
mov qword [rsp + 0x60], 0
xor eax, eax
xor ebp, ebp
cmp esi, 0x65
jne 0x1401af062
movsxd rdx, dword [rsp + 0x70]
movsxd rbx, eax
mov rcx, rbp
lea rsi, [rdx + rdx*4]
shl rsi, 3
lea rdx, [rbx + rsi + 0xc0]
call sym.sqlite3_realloc64
test rax, rax
je 0x1401af981
xor edx, edx
mov r8d, 0x98
lea rdi, [rax + 0x40]
mov rcx, rax
call sym.memset
cmp qword [rsp + 0x60], 0
lea rsi, [rdi + rsi + 0x58]
mov qword [rax + 0x20], rdi
mov r9, rax
mov dword [rax], 5
mov rax, qword [rsp + 0x110]
mov eax, dword [rax + 0x20]
mov dword [r9 + 0x94], eax
mov eax, dword [rsp + 0x70]
mov dword [r9 + 0x90], eax
je 0x1401af66c
mov rdi, qword [rsp + 0x60]
mov r8, rbx
mov rcx, rsi
mov qword [rsp + 0x40], r9
mov rdx, rdi
call sym.memcpy
mov rcx, rdi
call sym.sqlite3_free
mov r9, qword [rsp + 0x40]
mov rdi, qword [r9 + 0x20]
mov eax, dword [rdi + 0x50]
mov dword [rsp + 0x70], eax
mov ecx, dword [rsp + 0x70]
test ecx, ecx
jle 0x1401af9a0
lea edx, [rcx - 1]
lea rax, [rdi + 0x58]
lea rdx, [rdx + rdx*4]
lea rcx, [rdi + rdx*8 + 0x80]
nop dword [rax + rax]
movsxd rdx, dword [rax + 8]
mov qword [rax], rsi
add rax, 0x28
add rsi, rdx
cmp rcx, rax
jne 0x1401af690
mov rbp, r9
xor esi, esi
jmp 0x1401af062
mov rcx, qword [rsp + 0x110]
lea rdx, [r15 + 1]
lea r8d, [rbx - 1]
lea r12, [rsp + 0xb8]
lea r9, [rsp + 0xa8]
mov qword [rsp + 0x20], r12
call dbg.fts3ExprParse
mov r10, r15
sub r10, qword [rsp + 0x118]
mov esi, eax
mov eax, dword [rsp + 0xb8]
lea eax, [rax + r10 + 1]
mov dword [rsp + 0x48], eax
jmp 0x1401aee30
mov rcx, qword [rsp + 0xa8]
call dbg.sqlite3Fts3ExprFree
mov dword [rsp + 0x4c], 7
jmp 0x1401af295
mov esi, eax
xor r15d, r15d
jmp 0x1401aee12
mov r9d, dword [0x140248ef4]
movsxd rbx, dword [rsp + 0x98]
test r9d, r9d
jne 0x1401af922
call dbg.sqlite3MutexInit
test eax, eax
jne 0x1401af82f
call sym.sqlite3_initialize.part.0
test eax, eax
jne 0x1401af82f
add rbx, 0xc0
mov rcx, rbx
call sym.sqlite3Malloc
mov r15, rax
test rax, rax
je 0x1401af82f
mov r8, rbx
xor edx, edx
mov rcx, rax
call sym.memset
lea rax, [r15 + 0x40]
mov dword [r15], 5
lea rcx, [r15 + 0xc0]
mov qword [r15 + 0x20], rax
mov eax, dword [rsp + 0x40]
mov dword [r15 + 0x90], 1
mov dword [r15 + 0x94], eax
movsxd r8, dword [rsp + 0x98]
mov qword [r15 + 0x98], rcx
mov rdx, qword [rsp + 0xb8]
mov dword [r15 + 0xa0], r8d
call sym.memcpy
mov ebx, dword [rsp + 0xa0]
cmp ebx, edi
jl 0x1401af8e8
mov rax, qword [rsp + 0x110]
mov esi, dword [rax + 0x18]
test esi, esi
je 0x1401aee12
movsxd rax, dword [rsp + 0x9c]
xor edx, edx
jmp 0x1401af817
sub rax, 1
cmp byte [rbp + rax], 0x5e
jne 0x1401af931
mov dword [r15 + 0xa8], 1
mov edx, 1
mov ecx, eax
test eax, eax
jg 0x1401af7f8
test dl, dl
je 0x1401af828
mov dword [rsp + 0x9c], eax
xor esi, esi
jmp 0x1401aee12
mov ebx, dword [rsp + 0xa0]
mov esi, 7
jmp 0x1401aee12
mov ecx, 0x40
mov byte [rsp + 0x48], dl
mov ebp, eax
call sym.sqlite3Fts3MallocZero
movzx edx, byte [rsp + 0x48]
test rax, rax
mov r9, rax
je 0x1401af271
mov r10, r15
sub r10, qword [rsp + 0x118]
mov dword [rax], edx
mov dword [rax + 4], ebp
mov qword [rsp + 0xa8], rax
lea eax, [r13 + r10]
mov dword [rsp + 0x48], eax
jmp 0x1401aee4c
mov r10, r15
sub r10, qword [rsp + 0x118]
sub dword [rax + 0x30], 1
lea eax, [r10 + 1]
sub dword [rsp + 0x3c], eax
nop
mov eax, dword [rsp + 0x120]
sub eax, dword [rsp + 0x3c]
cmp qword [rsp + 0x68], 0
mov rdi, qword [rsp + 0x130]
je 0x1401af991
test byte [rsp + 0x4c], 1
je 0x1401af991
mov dword [rdi], eax
mov dword [rsp + 0x4c], 1
jmp 0x1401af295
mfence
jmp 0x1401af44a
movsxd rax, ebx
cmp byte [rbp + rax], 0x2a
jne 0x1401af7d5
mov dword [r15 + 0xa4], 1
add ebx, 1
mov dword [rsp + 0xa0], ebx
jmp 0x1401af7d5
mov rcx, qword [rsp + 0x60]
mov rdi, rbx
call sym.sqlite3_free
jmp 0x1401af3a3
mfence
jmp 0x1401af74f
xor ebx, ebx
jmp 0x1401aed5c
test dl, dl
je 0x1401af828
mov dword [rsp + 0x9c], ecx
xor esi, esi
jmp 0x1401aee12
cmp edx, 5
jne 0x1401af961
mov rax, r14
jmp 0x1401aee72
mov rcx, r9
call dbg.sqlite3Fts3ExprFree
jmp 0x1401af295
cmp dword [r14], 1
jne 0x1401af94c
mov rcx, qword [rsp + 0xa8]
call dbg.sqlite3Fts3ExprFree
mov dword [rsp + 0x4c], 1
jmp 0x1401af295
mov rcx, rbp
mov rdi, rax
call sym.sqlite3_free
jmp 0x1401af242
mov dword [rdi], eax
mov dword [rsp + 0x4c], 0
jmp 0x1401af2af
mov qword [rsp + 0xa8], r9
mov edx, dword [r9]
jmp 0x1401aee4c
mov r9d, 1
jmp 0x1401af351
je 0x1401af8a0
jmp 0x1401aebe0