Function at 0x646d40
Capabilities:
Resolve function by parsing pe exports

Disassembly:
lea r12, [rsp - 0x80]
cmp r12, qword [r14 + 0x10]
jbe 0x6479de
push rbp
mov rbp, rsp
sub rsp, 0xf8
mov qword [rsp + 0x108], rax
mov qword [rsp + 0x110], rbx
mov qword [rsp + 0x118], rcx
mov dword [rsp + 0x120], edi
mov rsi, qword [rcx]
mov qword [rsp + 0x58], rsi
mov rsi, qword [rsi]
mov qword [rsp + 0x68], rsi
mov rsi, qword [rsi]
mov qword [rsp + 0xc0], rsi
mov r10, qword [rcx + 0x20]
mov qword [rsp + 0xf0], r10
movsxd r11, edi
imul r11, r11, 0x38
mov qword [rsp + 0xe8], r11
lea r12, [r10 + r11]
mov qword [rsp + 0x60], r12
lea r15, [r10 + r11]
lea r15, [r15 + 0x20]
mov qword [rsp + 0xe0], r15
mov r12, qword [r12]
mov qword [rsp + 0xa8], r12
mov ecx, 0x1f0
mov rbx, rsi
nop dword [rax]
call sym.modernc.org_sqlite_lib._sqlite3DbMallocZero
mov rdx, qword [rsp + 0xe0]
mov qword [rdx], rax
test rax, rax
je 0x646f0b
mov qword [rsp + 0x78], rax
mov rdx, qword [rsp + 0xe8]
mov rsi, qword [rsp + 0xf0]
lea rsi, [rsi + rdx]
lea rsi, [rsi + 0x12]
movzx r8d, word [rsi]
or r8d, 0x10
mov word [rsi], r8w
lea rbx, [rax + 0x28]
mov qword [rsp + 0xf0], rbx
xor ecx, ecx
mov edi, 0x1c0
mov rax, qword [rsp + 0x108]
nop dword [rax]
call sym.modernc.org_libc.Xmemset
mov rbx, qword [rsp + 0x78]
mov rdx, rbx
nop
mov rsi, qword [rsp + 0x58]
mov qword [rdx], rsi
mov rdx, rbx
mov byte [rdx + 0x11], 0
mov rdx, rbx
mov qword [rdx + 8], 0
mov rdx, rbx
mov dword [rdx + 0x14], 0
mov rdx, rbx
mov dword [rdx + 0x1c], 0
mov rdx, rbx
mov dword [rdx + 0x18], 8
mov rdx, rbx
mov r8, qword [rsp + 0xf0]
mov qword [rdx + 0x20], r8
mov rax, qword [rsp + 0x108]
mov rcx, qword [rsp + 0xa8]
mov edi, 0x2b
call sym.modernc.org_sqlite_lib._sqlite3WhereSplit
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x78]
call sym.modernc.org_sqlite_lib._sqlite3WhereExprAnalyze
mov rbx, qword [rsp + 0xc0]
mov rdx, rbx
cmp byte [rdx + 0x67], 0
jne 0x646f02
mov rdx, qword [rsp + 0x78]
mov r8, rdx
mov r9d, dword [rdx + 0x14]
dec r9d
mov rdx, qword [rdx + 0x20]
mov r10, qword [rsp + 0x58]
mov rax, 0xffffffffffffffff
mov rcx, 0xffffffffffffffff
jmp 0x646f40
add rsp, 0xf8
pop rbp
ret
add rsp, 0xf8
pop rbp
ret
mov r9d, dword [rsp + 0x4c]
dec r9d
mov r11, qword [rsp + 0x70]
add r11, 0x38
mov r12, qword [rsp + 0x78]
mov r8, r12
mov r10, qword [rsp + 0x58]
mov rcx, rdx
mov rdx, r11
nop dword [rax + rax]
test r9d, r9d
jl 0x647149
test rax, rax
je 0x647149
mov qword [rsp + 0x70], rdx
mov dword [rsp + 0x4c], r9d
mov r11, rdx
movzx r12d, word [rdx + 0x14]
test r12d, 0x1ff
je 0x646fcf
movzx r13d, word [rdx + 0x12]
bt r13d, 3
jae 0x646f85
xor edx, edx
nop dword [rax + rax]
jmp 0x647981
mov r15d, dword [rdx + 0x1c]
lea rsi, [r10 + 0x258]
mov esi, dword [rsi]
lea rdi, [r10 + 0x250]
cmp esi, r15d
jne 0x646fa9
mov r15d, 1
jmp 0x64793f
mov qword [rsp + 0x90], rdi
mov qword [rsp + 0xd0], rax
mov eax, 1
mov dword [rsp + 0x48], eax
mov rax, qword [rsp + 0xd0]
jmp 0x6478e2
mov qword [rsp + 0xb8], rax
mov rax, qword [rsp + 0x108]
mov ecx, 0x1e8
call sym.modernc.org_sqlite_lib._sqlite3DbMallocRawNN
test rax, rax
jne 0x647010
mov rcx, qword [rsp + 0x118]
mov rbx, qword [rsp + 0xc0]
mov r8, qword [rsp + 0x58]
mov rax, qword [rsp + 0xb8]
jmp 0x647142
mov qword [rsp + 0xb0], rax
mov rdx, qword [rsp + 0x70]
lea rsi, [rdx + 0x20]
mov qword [rsi], rax
lea rsi, [rdx + 0x12]
movzx r8d, word [rsi]
or r8d, 0x20
mov word [rsi], r8w
mov rsi, rdx
mov word [rdx + 0x14], 0x400
mov dword [rsi + 0x1c], 0xffffffff
lea rbx, [rax + 0x28]
mov qword [rsp + 0xf0], rbx
xor ecx, ecx
mov edi, 0x1c0
mov rax, qword [rsp + 0x108]
nop
call sym.modernc.org_libc.Xmemset
mov rdx, qword [rsp + 0x118]
mov rdx, qword [rdx]
mov rbx, qword [rsp + 0xb0]
mov r8, rbx
mov qword [r8], rdx
mov rdx, rbx
mov byte [rdx + 0x11], 0
mov rdx, rbx
mov qword [rdx + 8], 0
mov rdx, rbx
mov dword [rdx + 0x14], 0
mov rdx, rbx
mov dword [rdx + 0x1c], 0
mov rdx, rbx
mov dword [rdx + 0x18], 8
mov rdx, rbx
mov r8, qword [rsp + 0xf0]
mov qword [rdx + 0x20], r8
mov rdx, qword [rsp + 0x70]
mov rcx, qword [rdx]
mov rax, qword [rsp + 0x108]
mov edi, 0x2c
call sym.modernc.org_sqlite_lib._sqlite3WhereSplit
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0xb0]
call sym.modernc.org_sqlite_lib._sqlite3WhereExprAnalyze
mov rdx, qword [rsp + 0xb0]
mov rsi, rdx
mov rcx, qword [rsp + 0x118]
mov qword [rdx + 8], rcx
mov rbx, qword [rsp + 0xc0]
mov rdx, rbx
cmp byte [rdx + 0x67], 0
je 0x647125
mov r8, qword [rsp + 0x58]
xor edi, edi
jmp 0x647137
mov rdx, qword [rsi + 0x20]
mov r8, qword [rsp + 0x58]
xor eax, eax
xor edi, edi
jmp 0x647800
mov rax, qword [rsp + 0xb8]
and rax, rdi
xor edx, edx
jmp 0x646f14
mov rdx, r8
mov qword [r8 + 0x1e8], rax
mov r8, qword [rsp + 0x60]
mov r9, r8
mov word [r8 + 0x14], 0x200
mov dword [r9 + 0x1c], 0xffffffff
test rax, rax
je 0x647182
mov r8, qword [rsp + 0x118]
mov r9, r8
mov byte [r8 + 0x11], 1
nop
jmp 0x64718a
mov r9, qword [rsp + 0x118]
mov qword [rsp + 0xc8], rcx
je 0x6471b4
mov r8, rdx
cmp dword [rdx + 0x14], 2
jne 0x6471b7
mov rax, qword [rsp + 0x108]
mov rdx, qword [rsp + 0x110]
xor esi, esi
jmp 0x6476d2
mov r8, rdx
test rcx, rcx
je 0x6471cc
xor eax, eax
xor edx, edx
mov esi, 0xffffffff
mov edi, 0xffffffff
jmp 0x6471da
add rsp, 0xf8
pop rbp
ret
inc eax
mov r8, r11
cmp eax, 2
jge 0x647225
nop
test edx, edx
jne 0x647225
mov dword [rsp + 0x28], edx
mov r11, r8
mov r12d, dword [r8 + 0x14]
mov r8, qword [r8 + 0x20]
dec r12d
jmp 0x647420
mov r13d, 0
jl 0x6474cc
mov qword [rsp + 0xa0], r13
mov dword [rsp + 0x40], edi
mov dword [rsp + 0x3c], esi
mov dword [rsp + 0x2c], eax
mov edx, 1
jmp 0x6474e3
test edx, edx
je 0x6471cc
mov edx, dword [r8 + 0x14]
dec edx
mov rsi, qword [r8 + 0x20]
xor eax, eax
xor ecx, ecx
jmp 0x64723f
dec edx
lea rsi, [r8 + 0x38]
mov qword [rsp + 0x98], rcx
test edx, edx
jl 0x6472de
mov r8, rsi
movzx r11d, word [rsi + 0x12]
bt r11d, 6
jae 0x647239
mov qword [rsp + 0xf0], r8
mov dword [rsp + 0x4c], edx
mov rdx, qword [rsi]
mov rcx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x108]
xor edi, edi
nop dword [rax + rax]
call sym.modernc.org_sqlite_lib._sqlite3ExprDup
mov rdx, qword [rsp + 0x58]
mov rbx, qword [rdx]
mov rcx, qword [rsp + 0x98]
mov rdi, rax
mov rax, qword [rsp + 0x108]
call sym.modernc.org_sqlite_lib._sqlite3ExprListAppend
mov rdx, qword [rsp + 0xf0]
mov rsi, rdx
mov rdx, qword [rdx]
mov rdx, qword [rdx + 0x10]
mov rbx, qword [rsp + 0xc0]
mov r8, rsi
mov r9, qword [rsp + 0x118]
mov r10, qword [rsp + 0x58]
mov rcx, rax
mov rax, rdx
mov edx, dword [rsp + 0x4c]
jmp 0x647239
mov rcx, rax
xor edi, edi
mov rax, qword [rsp + 0x108]
call sym.modernc.org_sqlite_lib._sqlite3ExprDup
mov rbx, qword [rsp + 0x68]
mov ecx, 0x31
mov rdi, rax
xor esi, esi
mov rax, qword [rsp + 0x108]
call sym.modernc.org_sqlite_lib._sqlite3PExpr
test rax, rax
je 0x6473ec
mov rdx, qword [rsp + 0xa8]
mov rsi, rdx
mov edx, dword [rdx + 4]
and edx, 3
nop
test edx, edx
je 0x64733e
lea r8, [rax + 4]
or dword [r8], edx
lea rdx, [rax + 0x34]
add rsi, 0x34
mov esi, dword [rsi]
mov dword [rdx], esi
lea rdx, [rax + 0x20]
mov rsi, qword [rsp + 0x98]
mov qword [rdx], rsi
mov rbx, qword [rsp + 0x118]
mov rcx, rax
mov edi, 3
mov rax, qword [rsp + 0x108]
call sym.modernc.org_sqlite_lib._whereClauseInsert
mov dword [rsp + 0x30], eax
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
mov edi, eax
mov rax, qword [rsp + 0x108]
call sym.modernc.org_sqlite_lib._exprAnalyze
mov rdx, qword [rsp + 0x118]
mov rsi, rdx
mov rdx, qword [rdx + 0x20]
mov r8d, dword [rsp + 0x30]
movsxd r8, r8d
imul r8, r8, 0x38
add rdx, r8
nop
mov r9d, dword [rsp + 0x120]
mov dword [rdx + 0x18], r9d
mov rdx, rsi
mov rsi, qword [rsi + 0x20]
add r8, rsi
mov r9, qword [rsp + 0xe8]
add rsi, r9
movzx esi, word [rsi + 0x10]
mov word [r8 + 0x10], si
mov rdx, qword [rdx + 0x20]
add rdx, r9
movzx esi, byte [rdx + 0x16]
inc esi
mov byte [rdx + 0x16], sil
jmp 0x6471cc
nop
mov rcx, qword [rsp + 0x98]
test rcx, rcx
je 0x6471cc
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0xc0]
call sym.modernc.org_sqlite_lib._exprListDeleteNN
jmp 0x6471cc
dec r12d
lea r8, [r13 + 0x38]
nop
test r12d, r12d
jl 0x6471fb
lea r13, [r8 + 0x12]
movzx r15d, word [r13]
and r15d, 0xffffffbf
mov word [r13], r15w
mov r13, r8
mov r15d, dword [r8 + 0x1c]
cmp esi, r15d
je 0x647418
lea r9, [r10 + 0x258]
cmp dword [r9], r15d
jne 0x64745b
mov r9d, 1
jmp 0x6474b6
lea r9, [r10 + 0x250]
mov qword [rsp + 0x88], r9
mov dword [rsp + 0xd8], eax
mov eax, 1
mov dword [rsp + 0x44], eax
mov eax, dword [rsp + 0xd8]
jmp 0x64767c
mov r9, rcx
mov ecx, r11d
mov edx, 1
shl rdx, cl
cmp ecx, 0x40
sbb r11, r11
and r11, rdx
mov rcx, r9
mov edx, dword [rsp + 0x28]
mov r9, r11
mov r11, qword [rsp + 0x78]
jmp 0x6474b6
mov r11, qword [rsp + 0x78]
xor r9d, r9d
test r9, rcx
jne 0x6476a5
mov r9, qword [rsp + 0x118]
jmp 0x647418
mov r8, r11
jmp 0x647225
dec r12d
lea r8, [r15 + 0x38]
mov r9, qword [rsp + 0x118]
test r12d, r12d
jl 0x6471d5
test edx, edx
je 0x6471d5
mov r15, r8
cmp dword [r8 + 0x1c], esi
je 0x64750f
lea r8, [r15 + 0x12]
movzx r9d, word [r8]
and r9d, 0xffffffbf
mov word [r8], r9w
jmp 0x6474d4
mov qword [rsp + 0xf0], r15
mov dword [rsp + 0x54], edx
mov dword [rsp + 0x4c], r12d
lea r9, [r15 + 0x20]
cmp dword [r9], edi
je 0x647531
mov r8d, 1
jmp 0x6475a3
cmp edi, 0xfffffffe
je 0x64753b
xor r8d, r8d
jmp 0x6475a3
mov rdx, qword [r8]
mov rcx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x68]
mov rdi, r13
mov esi, 0xffffffff
call sym.modernc.org_sqlite_lib._sqlite3ExprCompare
test eax, eax
setne dl
mov eax, dword [rsp + 0x2c]
mov rcx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
mov esi, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0xa0]
mov r15, qword [rsp + 0xf0]
mov r8d, edx
mov edx, dword [rsp + 0x54]
test r8b, r8b
je 0x6475af
xor edx, edx
jmp 0x6474d4
mov rdx, qword [r15]
mov rbx, qword [rdx + 0x18]
mov rax, qword [rsp + 0x108]
nop
call sym.modernc.org_sqlite_lib._sqlite3ExprAffinity
movsx rcx, al
mov dword [rsp + 0x50], ecx
mov rdx, qword [rsp + 0xf0]
mov rdx, qword [rdx]
mov rbx, qword [rdx + 0x10]
mov rax, qword [rsp + 0x108]
call sym.modernc.org_sqlite_lib._sqlite3ExprAffinity
mov ecx, dword [rsp + 0x50]
test ecx, ecx
je 0x647605
movsx rdx, al
cmp edx, ecx
je 0x647605
mov r8, qword [rsp + 0xf0]
xor eax, eax
jmp 0x647621
mov r8, qword [rsp + 0xf0]
lea r9, [r8 + 0x12]
movzx r10d, word [r9]
or r10d, 0x40
mov word [r9], r10w
mov eax, dword [rsp + 0x54]
mov rcx, qword [rsp + 0xc8]
mov rbx, qword [rsp + 0xc0]
mov esi, dword [rsp + 0x3c]
mov edi, dword [rsp + 0x40]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x78]
mov r12d, dword [rsp + 0x4c]
mov r13, qword [rsp + 0xa0]
mov r15, r8
mov edx, eax
mov eax, dword [rsp + 0x2c]
jmp 0x6474d4
lea r9d, [r11 + 1]
mov r11, qword [rsp + 0x88]
mov r11, qword [rsp + 0x78]
mov dword [rsp + 0x44], r9d
mov r9, qword [rsp + 0x88]
mov r11d, dword [rsp + 0x44]
cmp dword [r9 + 4], r11d
jle 0x6474ae
movsxd r9, r11d
lea r9, [r10 + r9*4]
lea r9, [r9 + 0x258]
cmp dword [r9], r15d
jne 0x64765e
nop
jmp 0x647486
lea rsi, [r13 + 0x20]
mov rdi, qword [r8]
mov esi, dword [rsi]
mov rdi, qword [rdi + 0x10]
test r12d, r12d
mov r8, r13
mov r9, qword [rsp + 0x118]
mov r13, rdi
mov edi, esi
mov esi, r15d
jmp 0x647201
inc esi
mov r8, r12
mov r11, r8
mov r8, qword [r8 + 0x20]
mov r12, r8
movzx r8d, word [r8 + 0x14]
cmp r8d, 0x400
je 0x6476f8
test esi, esi
mov r8d, 0
cmove r8, r12
jmp 0x647719
lea r8, [r12 + 0x20]
mov r8, qword [r8]
cmp dword [r8 + 0x14], esi
jle 0x647716
movsxd r12, esi
imul r12, r12, 0x38
add r12, qword [r8 + 0x20]
mov r8, r12
jmp 0x647719
xor r8d, r8d
test r8, r8
je 0x64772e
mov qword [rsp + 0x80], r8
mov dword [rsp + 0x38], esi
xor edi, edi
jmp 0x64779f
mov r8, r11
jmp 0x6471b7
mov dword [rsp + 0x34], edi
mov rbx, rdx
mov rcx, r9
mov rdi, r8
mov rsi, r11
call sym.modernc.org_sqlite_lib._whereCombineDisjuncts
mov edi, dword [rsp + 0x34]
inc edi
mov rdx, qword [rsp + 0x78]
mov rax, qword [rsp + 0x108]
mov rbx, qword [rsp + 0x110]
mov rcx, qword [rsp + 0x118]
mov r8, qword [rsp + 0x80]
mov rcx, qword [rsp + 0xc8]
mov rdx, rbx
mov rbx, qword [rsp + 0xc0]
mov esi, dword [rsp + 0x38]
mov r9, qword [rsp + 0x118]
mov r10, qword [rsp + 0x58]
mov r11, qword [rsp + 0x78]
mov r12, r11
mov r11, qword [r11 + 0x20]
lea r13, [r11 + 0x38]
mov r15, r13
movzx r13d, word [r13 + 0x14]
cmp r13d, 0x400
je 0x6477c9
test edi, edi
mov r11d, 0
cmove r11, r15
jmp 0x6477e9
add r11, 0x58
mov r11, qword [r11]
cmp dword [r11 + 0x14], edi
jle 0x6477e6
movsxd r13, edi
imul r13, r13, 0x38
add r13, qword [r11 + 0x20]
mov r11, r13
jmp 0x6477e9
xor r11d, r11d
test r11, r11
jne 0x647736
jmp 0x6476cd
inc eax
lea rdx, [r9 + 0x38]
nop dword [rax]
cmp dword [rsi + 0x14], eax
jle 0x647137
mov r9, rdx
mov r10, qword [rdx]
movzx r10d, byte [r10]
cmp r10d, 0x31
je 0x64782c
lea r11d, [r10 - 0x35]
nop dword [rax]
cmp r11d, 4
jbe 0x64782c
cmp r10d, 0x32
jne 0x647834
mov r10d, 1
jmp 0x64783c
cmp r10d, 0x2d
sete r10b
movzx r10d, r10b
test r10d, r10d
jne 0x647850
movzx r10d, word [rdx + 0x14]
cmp r10d, 0x40
jne 0x6477f7
mov edx, dword [rdx + 0x1c]
lea r10, [r8 + 0x258]
cmp dword [r10], edx
jne 0x647867
mov r11d, 1
jmp 0x6478b9
lea r10, [r8 + 0x250]
mov r11d, 1
jmp 0x64787c
inc r11d
mov r10, r12
mov r12, r10
nop
cmp dword [r10 + 4], r11d
jle 0x6478b6
movsxd r10, r11d
lea r10, [r8 + r10*4]
lea r10, [r10 + 0x258]
cmp dword [r10], edx
jne 0x647876
mov rdx, rcx
mov ecx, r11d
mov r10d, 1
shl r10, cl
cmp ecx, 0x40
sbb r11, r11
and r11, r10
mov rcx, rdx
jmp 0x6478b9
xor r11d, r11d
or rdi, r11
nop dword [rax]
jmp 0x6477f7
lea edi, [r11 + 1]
mov r11, qword [rsp + 0x90]
mov r11, qword [rsp + 0x70]
mov dword [rsp + 0x48], edi
mov rdi, qword [rsp + 0x90]
mov r11d, dword [rsp + 0x48]
cmp dword [rdi + 4], r11d
jle 0x64792f
movsxd rdi, r11d
lea rdi, [r10 + rdi*4]
lea rdi, [rdi + 0x258]
nop dword [rax + rax]
cmp dword [rdi], r15d
jne 0x6478c5
mov rdi, rcx
mov ecx, r11d
mov r15d, 1
shl r15, cl
cmp ecx, 0x40
sbb r11, r11
and r15, r11
mov rcx, rdi
mov rdi, qword [rsp + 0x90]
mov r11, qword [rsp + 0x70]
jmp 0x64793f
mov rdi, qword [rsp + 0x90]
mov r11, qword [rsp + 0x70]
xor r15d, r15d
bt r13d, 1
jae 0x64796b
mov r13, r8
movsxd rdx, dword [rdx + 0x18]
imul rdx, rdx, 0x38
add rdx, qword [r8 + 0x20]
mov edx, dword [rdx + 0x1c]
cmp esi, edx
jne 0x647964
mov r8d, 1
jmp 0x6479d6
mov esi, 1
jmp 0x647999
and rcx, r15
and rax, r15
test r12d, 2
mov edx, 0
cmove rcx, rdx
mov r8, r10
mov rdx, rcx
mov rcx, qword [rsp + 0x118]
jmp 0x646f14
inc esi
mov rdi, r8
mov r8, rdi
nop dword [rax]
cmp dword [rdi + 4], esi
jle 0x6479d3
movsxd rdi, esi
lea rdi, [r10 + rdi*4]
lea rdi, [rdi + 0x258]
cmp dword [rdi], edx
jne 0x647994
mov rdx, rcx
mov ecx, esi
mov r8d, 1
shl r8, cl
cmp ecx, 0x40
sbb rcx, rcx
and r8, rcx
mov rcx, rdx
jmp 0x6479d6
xor r8d, r8d
or r15, r8
mov r8, r13
jmp 0x64796b
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov dword [rsp + 0x20], edi
call sym.runtime.morestack_noctxt.abi0
mov rax, qword [rsp + 8]
mov rbx, qword [rsp + 0x10]
mov rcx, qword [rsp + 0x18]
mov edi, dword [rsp + 0x20]
jmp sym.modernc.org_sqlite_lib._exprAnalyzeOrTerm