Function at 0x44fb01
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
mov eax, dword [rsp + 0x130]
mov dword [rsp + 0x6c], r9d
mov ebx, dword [rsp + 0x6c]
test ax, ax
mov r14, rdx
mov qword [rsp + 0x110], rcx
mov qword [rsp + 0x120], r8
mov word [rsp + 0xaa], ax
mov word [rsp + 0x88], bx
je 0x44fb5f
mov rax, qword [rcx]
mov rax, qword [rax]
test byte [rax + 0x60], 0x40
je 0x44fb5f
xor eax, eax
jmp 0x450276
mov eax, dword [r14]
mov dword [rsp + 0x60], eax
cmp word [rsp + 0x60], 0x3f
ja 0x44fb58
movzx eax, word [rsp + 0x60]
mov r15b, 1
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x78], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x30], 0
mov dword [rsp + 0x48], eax
mov cl, byte [rsp + 0x48]
mov eax, 1
shl rax, cl
dec rax
mov qword [rsp + 0x80], rax
mov eax, dword [rsp + 0x6c]
and ax, 0x803
cmp ax, 1
sbb eax, eax
xor ebx, ebx
mov dword [rsp + 0x64], eax
add word [rsp + 0x64], 0x183
mov rsi, qword [rsp + 0x80]
cmp qword [rsp + 0x30], rsi
mov r13d, dword [rsp + 0x50]
jae 0x45021c
test r15b, 1
je 0x45021c
movzx eax, word [rsp + 0xaa]
mov edx, r13d
cmp eax, r13d
jl 0x450218
test r13d, r13d
je 0x44fc14
mov rbx, qword [rbx + 8]
or qword [rsp + 0x78], rbx
cmp eax, edx
jle 0x44fc42
mov rax, qword [rsp + 0x120]
mov r15b, 1
mov rbx, qword [rsp + 0x50]
test word [rsp + 0x88], 0x800
mov rax, qword [rax + 0x18]
mov rbx, qword [rax + rbx*8]
jne 0x45020e
jmp 0x44fc4a
mov rbx, qword [rsp + 0x138]
test byte [rbx + 0x39], 4
je 0x44fc74
cmp byte [rbx + 0x20], 0
mov al, 0xff
je 0x450276
mov edx, dword [rsp + 0x6c]
and dx, 0x280
add dx, 0xff80
jne 0x45022b
jmp 0x450276
mov eax, dword [rsp + 0x88]
and ax, 0x80
mov word [rsp + 0xa8], ax
je 0x44fc8f
mov word [rbx + 0x1e], 0
movzx eax, byte [rbx + 0x10]
mov rsi, qword [rsp + 0x110]
movzx r12d, word [rsp + 0x64]
imul rax, rax, 0x68
add rax, qword [rsi + 8]
xor esi, esi
mov eax, dword [rax + 0x4c]
mov dword [rsp + 0x4c], eax
mov rax, qword [rsp + 0x78]
not rax
mov qword [rsp + 0x40], rax
mov rax, qword [rsp + 0x110]
add rax, 0x70
mov qword [rsp + 0x58], rax
cmp dword [rsp + 0x48], esi
mov dword [rsp + 0x38], esi
jle 0x44fdd6
mov rax, qword [rsp + 0x30]
bt rax, rsi
jb 0x44fdce
mov rdi, rsi
shl rdi, 5
mov rcx, qword [r14 + rdi + 8]
call sym.sqlite3ExprSkipCollateAndLikely
test rax, rax
mov r15, rax
je 0x44fdce
mov al, byte [rax]
add eax, 0x59
test al, 0xfd
jne 0x44fdce
mov eax, dword [rsp + 0x4c]
cmp dword [r15 + 0x2c], eax
jne 0x44fdce
movsx r8d, word [r15 + 0x30]
mov edx, eax
mov dword [rsp + 0x20], r12d
mov qword [rsp + 0x28], 0
mov r9, qword [rsp + 0x40]
mov rcx, qword [rsp + 0x58]
call sym.sqlite3WhereFindTerm
test rax, rax
mov rbp, rax
je 0x44fdce
mov eax, dword [rax + 0x14]
cmp ax, 1
jne 0x44fd87
movzx ecx, word [rbx + 0x3c]
xor eax, eax
cmp ecx, eax
jle 0x44fdce
mov rdx, qword [rbx + 0x48]
mov rdx, qword [rdx + rax*8]
inc rax
cmp rdx, rbp
jne 0x44fd60
mov cl, byte [rsp + 0x38]
mov eax, 1
shl rax, cl
or qword [rsp + 0x30], rax
jmp 0x44fdce
test al, 0x82
je 0x44fd74
cmp word [r15 + 0x30], 0
js 0x44fd74
mov rax, qword [rsp + 0x110]
mov rdx, qword [r14 + rdi + 8]
mov r15, qword [rax]
mov rcx, r15
call sym.sqlite3ExprNNCollSeq
mov rdx, qword [rbp]
mov rcx, r15
mov rdi, rax
call sym.sqlite3ExprCompareCollSeq
test rax, rax
je 0x44fdce
mov rdx, qword [rax]
mov rcx, qword [rdi]
call sym.sqlite3StrICmp
test eax, eax
je 0x44fd74
inc rsi
jmp 0x44fcd0
mov eax, dword [rbx + 0x38]
bt eax, 0xc
jb 0x45018c
bt eax, 8
jb 0x44fe24
mov rdi, qword [rbx + 0x20]
test rdi, rdi
je 0x44fb58
test byte [rdi + 0x64], 4
jne 0x44fb58
mov si, word [rdi + 0x5e]
mov edx, dword [rdi + 0x60]
mov word [rsp + 0x8a], si
xor esi, esi
cmp byte [rdi + 0x62], 0
je 0x44fe38
shr eax, 0xf
xor eax, 1
and eax, 1
mov esi, eax
jmp 0x44fe38
xor edi, edi
mov edx, 1
mov sil, 1
mov word [rsp + 0x8a], 0
mov ecx, r13d
mov eax, 1
xor ebp, ebp
mov byte [rsp + 0x58], 0
shl rax, cl
xor r15d, r15d
xor r13d, r13d
mov qword [rsp + 0x98], rax
movzx eax, dx
mov dword [rsp + 0xac], eax
cmp dword [rsp + 0xac], ebp
mov dword [rsp + 0x40], ebp
mov dword [rsp + 0x8c], ebp
jle 0x45017d
movzx edx, word [rbx + 0x18]
lea rax, [rbp*8]
mov qword [rsp + 0xa0], rax
cmp edx, ebp
jle 0x44fee8
movzx eax, word [rbx + 0x3e]
cmp eax, dword [rsp + 0x40]
jg 0x44fee8
mov rcx, qword [rbx + 0x48]
lea rax, [rbp*8]
mov r8, qword [rcx + rax]
mov eax, dword [r8 + 0x14]
test word [rsp + 0x64], ax
je 0x44fec5
test ax, 0x180
mov al, 0
cmovne esi, eax
jmp 0x450175
test al, 1
mov r11b, 1
je 0x44feeb
mov r8, qword [r8]
lea rax, [rbp + 1]
cmp edx, eax
jle 0x44fee8
mov r10, qword [rcx + rax*8]
inc rax
cmp qword [r10], r8
jne 0x44fed3
xor r11d, r11d
jmp 0x44feeb
mov r11b, 1
test rdi, rdi
je 0x44ff34
mov rcx, qword [rdi + 0x38]
mov rax, qword [rdi + 8]
mov r12b, byte [rcx + rbp]
mov rcx, qword [rdi + 0x18]
movsx rax, word [rax + rbp*2]
and r12d, 1
cmp ax, word [rcx + 0x34]
je 0x44ff37
test sil, sil
movsx r9d, ax
je 0x44ff48
test r9d, r9d
js 0x44ff40
cmp edx, dword [rsp + 0x8c]
jg 0x44ff48
imul rax, rax, 0x18
add rax, qword [rcx + 8]
test byte [rax + 8], 0xf
jmp 0x44ff44
xor r12d, r12d
or r9d, 0xffffffff
test sil, sil
je 0x44ff48
cmp r9d, 0xfffffffe
setne sil
mov qword [rsp + 0x38], 0
movsxd rax, dword [rsp + 0x40]
shl rax, 5
mov qword [rsp + 0xb0], rax
mov eax, dword [rsp + 0x38]
cmp dword [rsp + 0x48], eax
mov dword [rsp + 0x68], eax
jle 0x45011c
test r11b, r11b
je 0x45011c
mov rax, qword [rsp + 0x30]
mov ecx, dword [rsp + 0x68]
bt rax, rcx
jb 0x4500d5
mov rax, qword [rsp + 0x38]
mov dword [rsp + 0xb8], r9d
shl rax, 5
mov rcx, qword [r14 + rax + 8]
mov qword [rsp + 0x90], rax
call sym.sqlite3ExprSkipCollateAndLikely
mov r9d, dword [rsp + 0xb8]
test rax, rax
je 0x4500d5
test byte [rsp + 0x88], 0xc0
setne r11b
cmp r9d, 0xffffffff
jl 0x450003
mov dl, byte [rax]
add edx, 0x59
and dl, 0xfd
jne 0x4500d8
mov ecx, dword [rsp + 0x4c]
cmp dword [rax + 0x2c], ecx
jne 0x4500d8
movsx eax, word [rax + 0x30]
cmp eax, r9d
je 0x4500a3
jmp 0x4500d8
mov r8d, dword [rsp + 0x4c]
mov rcx, rax
mov dword [rsp + 0xbc], r9d
mov rdx, qword [rsp + 0xb0]
mov byte [rsp + 0xb8], r11b
add rdx, qword [rdi + 0x50]
mov rdx, qword [rdx + 8]
call sym.sqlite3ExprCompareSkip
mov r11b, byte [rsp + 0xb8]
test eax, eax
mov r9d, dword [rsp + 0xbc]
jne 0x4500d8
mov rax, qword [rsp + 0x90]
mov dword [rsp + 0xbc], r9d
mov byte [rsp + 0xb8], r11b
mov rdx, qword [r14 + rax + 8]
mov rax, qword [rsp + 0x110]
mov rcx, qword [rax]
call sym.sqlite3ExprNNCollSeq
mov rcx, qword [rsp + 0xa0]
mov rdx, qword [rdi + 0x40]
mov rdx, qword [rdx + rcx]
mov rcx, qword [rax]
call sym.sqlite3StrICmp
mov r11b, byte [rsp + 0xb8]
test eax, eax
mov r9d, dword [rsp + 0xbc]
je 0x4500a9
jmp 0x4500d8
cmp r9d, 0xffffffff
jne 0x450048
cmp word [rsp + 0xa8], 0
je 0x4500bb
lea eax, [rbp + 1]
mov word [rbx + 0x1e], ax
movsxd rax, dword [rsp + 0x68]
shl rax, 5
test byte [rsp + 0x88], 0x40
mov al, byte [r14 + rax + 0x18]
je 0x4500e2
jmp 0x450143
mov r11b, 1
inc qword [rsp + 0x38]
jmp 0x44ff62
test r13b, r13b
je 0x4500f8
xor r12d, dword [rsp + 0x58]
mov edx, eax
and edx, 1
cmp r12b, dl
jne 0x45011c
jmp 0x450143
mov edx, eax
and edx, 1
cmp dl, r12b
je 0x45013b
mov rcx, qword [rsp + 0x140]
mov byte [rsp + 0x58], 1
mov rdx, qword [rsp + 0x98]
or qword [rcx], rdx
jmp 0x450140
cmp dword [rsp + 0x40], 0
je 0x45026e
movzx eax, word [rsp + 0x8a]
cmp eax, dword [rsp + 0x40]
jg 0x45026e
jmp 0x45017d
mov byte [rsp + 0x58], 0
mov r13b, 1
test al, 2
je 0x45015b
movzx eax, word [rbx + 0x18]
cmp eax, dword [rsp + 0x8c]
jne 0x45011c
or dword [rbx + 0x38], 0x80000
mov cl, byte [rsp + 0x68]
inc r9d
mov al, 1
cmove r15d, eax
mov eax, 1
shl rax, cl
or qword [rsp + 0x30], rax
inc rbp
jmp 0x44fe62
or esi, r15d
xor r15d, r15d
test sil, sil
je 0x45020e
mov rsi, qword [rbx + 8]
xor r13d, r13d
mov r12d, 1
or qword [rsp + 0x70], rsi
mov rax, qword [rsp + 0x110]
mov rbp, qword [rsp + 0x70]
lea rdi, [rax + 0x258]
not rbp
cmp dword [rsp + 0x48], r13d
mov esi, r13d
jle 0x45020b
mov rax, qword [rsp + 0x30]
bt rax, r13
jb 0x450206
mov rax, r13
mov rcx, rdi
shl rax, 5
mov r15, qword [r14 + rax + 8]
mov rdx, r15
call sym.sqlite3WhereExprUsage
test rax, rax
jne 0x450201
mov rcx, r15
call sym.sqlite3ExprIsConstant
test eax, eax
je 0x450206
mov rax, r12
mov ecx, esi
shl rax, cl
or qword [rsp + 0x30], rax
jmp 0x450206
test rbp, rax
je 0x4501f2
inc r13
jmp 0x4501b5
mov r15b, 1
inc qword [rsp + 0x50]
jmp 0x44fbd0
mov al, 0xff
jmp 0x450276
mov rbx, qword [rsp + 0x80]
cmp qword [rsp + 0x30], rbx
jne 0x450231
mov al, byte [rsp + 0x60]
jmp 0x450276
test r15b, r15b
mov al, 0xff
jne 0x450276
mov ecx, dword [rsp + 0x48]
mov edx, 1
dec ecx
test ecx, ecx
jle 0x44fb58
cmp ecx, 0x3f
jg 0x450266
mov r8, qword [rsp + 0x30]
mov rax, rdx
shl rax, cl
dec rax
and r8, rax
cmp r8, rax
jne 0x45026a
mov eax, ecx
jmp 0x450276
dec ecx
jmp 0x450243
test r15b, r15b
jmp 0x450186
add rsp, 0xc8
pop rbx
pop rsi
pop rdi
pop rbp
pop r12
pop r13
pop r14
pop r15
ret