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

Disassembly:
lea r12, [rsp - 0x10]
cmp r12, qword [r14 + 0x10]
jbe 0x640a1b
push rbp
mov rbp, rsp
sub rsp, 0x88
mov qword [rsp + 0x98], rax
mov qword [rsp + 0xa0], rbx
mov qword [rsp + 0xa8], rcx
mov dword [rsp + 0xb0], edi
mov qword [rsp + 0xb8], r8
mov r9, qword [rcx + 0x58]
mov qword [rsp + 0x78], r9
movzx r11d, word [r9 + 0x18]
mov dword [rsp + 0x54], r11d
mov rcx, qword [r9 + 0x20]
mov r12, rbx
add esi, r11d
mov dword [rsp + 0x40], esi
lea r13, [r12 + 0x38]
mov r15, qword [rbx + 0x10]
mov qword [rsp + 0x60], r15
movzx r9d, word [r9 + 0x36]
mov word [rsp + 0x36], r9w
mov ebx, dword [rbx + 0x38]
mov dword [rsp + 0x50], ebx
add dword [r13], esi
mov r13, rcx
mov r13, qword [r13 + 0x20]
test r13, r13
jne 0x6405ce
mov rbx, qword [r12]
call sym.modernc.org_sqlite_lib._computeIndexAffStr
mov r12, qword [rsp + 0xa0]
mov r13, rax
mov rax, qword [rsp + 0x98]
mov rbx, qword [r12]
mov rcx, r13
call sym.modernc.org_sqlite_lib._sqlite3DbStrDup
mov qword [rsp + 0x58], rax
mov esi, dword [rsp + 0x50]
lea edx, [rsi + 1]
movzx edi, word [rsp + 0x36]
test di, di
je 0x640773
mov dword [rsp + 0x3c], edx
mov r9, qword [rsp + 0xa8]
mov r9d, dword [r9 + 8]
mov dword [rsp + 0x48], r9d
lea r8d, [rsi + rdi]
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x60]
mov ecx, 0x4b
xor edi, edi
mov esi, edx
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov edx, dword [rsp + 0xb0]
test edx, edx
mov ecx, 0x24
mov r9d, 0x20
cmovne ecx, r9d
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x60]
mov edi, dword [rsp + 0x48]
xor esi, esi
mov r8d, esi
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov edx, dword [rsp + 0xb0]
test edx, edx
mov r9d, 0x18
mov r10d, 0x15
cmovne r9d, r10d
mov dword [rsp + 0x38], r9d
nop
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x60]
mov ecx, 9
xor edi, edi
mov esi, edi
mov r8d, esi
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov dword [rsp + 0x44], eax
mov rbx, qword [rsp + 0x60]
mov ecx, dword [rsp + 0x38]
mov edi, dword [rsp + 0x48]
xor esi, esi
mov r8d, dword [rsp + 0x3c]
movzx r9d, word [rsp + 0x36]
mov rax, qword [rsp + 0x98]
nop
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp4Int
mov rdi, qword [rsp + 0xa8]
mov rdx, rdi
mov dword [rdx + 0x14], eax
mov rbx, qword [rsp + 0x60]
mov rdx, rbx
mov r9, qword [rdx]
nop
cmp byte [r9 + 0x67], 0
je 0x6406ef
lea r10, [0x00a30f90]
jmp 0x640706
mov r11d, dword [rsp + 0x44]
movsxd r11, r11d
lea r10, [r11 + r11*2]
shl r10, 3
add r10, qword [rdx + 0x88]
mov edx, dword [rdx + 0x90]
mov dword [r10 + 8], edx
xor eax, eax
jmp 0x64074f
mov dword [rsp + 0x44], eax
mov edx, dword [rsp + 0x50]
lea r8d, [rax + rdx]
lea r8d, [r8 + 1]
mov ecx, 0x5e
mov edi, dword [rsp + 0x48]
mov esi, eax
mov rax, qword [rsp + 0x98]
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov eax, dword [rsp + 0x44]
inc eax
mov rbx, qword [rsp + 0x60]
mov rdi, qword [rsp + 0xa8]
movzx edx, word [rsp + 0x36]
cmp eax, edx
jl 0x640714
mov rax, qword [rsp + 0x58]
mov edx, dword [rsp + 0x3c]
movzx edi, word [rsp + 0x36]
jmp 0x640773
mov edi, dword [rsp + 0x44]
inc edi
mov edx, eax
mov rax, r10
mov r10d, dword [rsp + 0x54]
nop dword [rax + rax]
cmp edi, r10d
jge 0x640a05
mov dword [rsp + 0x3c], edx
mov dword [rsp + 0x44], edi
mov r10, qword [rsp + 0x78]
movsxd r12, edi
mov qword [rsp + 0x80], r12
shl r12, 3
add r12, qword [r10 + 0x40]
mov rcx, qword [r12]
mov qword [rsp + 0x68], rcx
lea r9d, [rdi + rdx]
mov dword [rsp + 0x50], r9d
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0xa0]
mov esi, edi
mov r8d, dword [rsp + 0xb0]
mov rdi, qword [rsp + 0xa8]
nop dword [rax]
call sym.modernc.org_sqlite_lib._codeEqualityTerm
mov esi, dword [rsp + 0x50]
cmp eax, esi
je 0x640877
mov edx, dword [rsp + 0x40]
cmp edx, 1
jne 0x640845
nop
mov r10d, dword [rsp + 0x3c]
test r10d, r10d
je 0x64083b
mov rbx, qword [rsp + 0xa0]
mov r11, rbx
movzx r11d, byte [r11 + 0x1f]
cmp r11d, 8
jge 0x640887
lea r11, [rbx + 0x1f]
movzx r12d, byte [r11]
lea r13d, [r12 + 1]
mov byte [r11], r13b
lea r11, [rbx + r12*4]
lea r11, [r11 + 0xe8]
mov dword [r11], r10d
jmp 0x640887
mov rbx, qword [rsp + 0xa0]
jmp 0x640887
mov rbx, qword [rsp + 0x60]
mov ecx, 0x50
mov edi, eax
xor r8d, r8d
mov rax, qword [rsp + 0x98]
nop dword [rax]
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov edx, dword [rsp + 0x40]
mov rbx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x3c]
jmp 0x640887
mov edx, dword [rsp + 0x40]
mov rbx, qword [rsp + 0xa0]
mov eax, dword [rsp + 0x3c]
mov r10, qword [rsp + 0x68]
movzx r11d, word [r10 + 0x14]
bt r11d, 0
jae 0x6408d2
mov r10, qword [r10]
mov r10d, dword [r10 + 4]
bt r10d, 0xc
jae 0x6408c8
mov r10, qword [rsp + 0x58]
test r10, r10
je 0x640768
mov r11, qword [rsp + 0x80]
add r11, r10
mov byte [r11], 0x41
jmp 0x640768
mov r10, qword [rsp + 0x58]
jmp 0x640768
bt r11d, 8
jb 0x6409fa
mov dword [rsp + 0x4c], eax
mov r11, qword [r10]
movzx r10d, word [r10 + 0x12]
mov r11, qword [r11 + 0x18]
mov qword [rsp + 0x70], r11
bt r10d, 0xb
jb 0x64096c
mov rax, qword [rsp + 0x98]
mov rbx, r11
call sym.modernc.org_sqlite_lib._sqlite3ExprCanBeNull
test eax, eax
jne 0x640924
mov eax, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x40]
mov rbx, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x70]
jmp 0x64096c
mov edx, dword [rsp + 0x44]
mov r9d, dword [rsp + 0x4c]
lea edi, [r9 + rdx]
mov r10, qword [rsp + 0xa8]
mov esi, dword [r10 + 0xc]
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x60]
mov ecx, 0x32
xor r8d, r8d
call sym.modernc.org_sqlite_lib._sqlite3VdbeAddOp3
mov eax, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x40]
mov rbx, qword [rsp + 0xa0]
mov r11, qword [rsp + 0x70]
mov r10, rbx
cmp dword [r10 + 0x30], 0
jne 0x6409fa
mov rdx, qword [rsp + 0x58]
mov rsi, qword [rsp + 0x80]
add rsi, rdx
mov qword [rsp + 0x80], rsi
movzx ecx, byte [rsi]
mov rax, qword [rsp + 0x98]
mov rbx, r11
call sym.modernc.org_sqlite_lib._sqlite3CompareAffinity
movsx rdx, al
cmp edx, 0x41
jne 0x6409be
mov rdx, qword [rsp + 0x80]
mov rsi, rdx
mov byte [rdx], 0x41
jmp 0x6409c6
mov rsi, qword [rsp + 0x80]
movzx ecx, byte [rsi]
mov rax, qword [rsp + 0x98]
mov rbx, qword [rsp + 0x70]
call sym.modernc.org_sqlite_lib._sqlite3ExprNeedsNoAffinityChange
test eax, eax
je 0x6409ea
mov rdx, qword [rsp + 0x80]
mov byte [rdx], 0x41
mov eax, dword [rsp + 0x4c]
mov edx, dword [rsp + 0x40]
mov rbx, qword [rsp + 0xa0]
mov r10, qword [rsp + 0x58]
nop
jmp 0x640768
mov rcx, qword [rsp + 0xb8]
mov qword [rcx], rax
mov eax, edx
add rsp, 0x88
pop rbp
ret
mov qword [rsp + 8], rax
mov qword [rsp + 0x10], rbx
mov qword [rsp + 0x18], rcx
mov dword [rsp + 0x20], edi
mov dword [rsp + 0x24], esi
mov qword [rsp + 0x28], r8
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]
mov esi, dword [rsp + 0x24]
mov r8, qword [rsp + 0x28]
jmp sym.modernc.org_sqlite_lib._codeAllEqualityTerms