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

Disassembly:
push r12
push rsi
push rbx
sub rsp, 0x60
mov qword [rsp + 0x30], 0
mov rbx, rcx
lea r9, [rsp + 0x30]
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov qword [rsp + 0x58], 0
test edx, edx
je 0x140297fc0
call sym.isDate.part.0
test eax, eax
jne 0x140297fb5
cmp byte [rsp + 0x58], 0
jne 0x1402980e0
cmp byte [rsp + 0x5a], 0
jne 0x140298038
movabs rsi, 0xc0a4a922ce00
cmp byte [rsp + 0x59], 0
jne 0x1402980f0
cmp byte [rsp + 0x5b], 0
mov qword [rsp + 0x30], rsi
mov byte [rsp + 0x58], 1
jne 0x140298180
movzx eax, byte [rsp + 0x5f]
test al, al
je 0x14029812d
test rbx, rbx
je 0x140297fb5
mov rbx, qword [rbx]
test word [rbx + 0x14], 0x9000
jne 0x1402981f0
mov ecx, 1
mov word [rbx + 0x14], cx
movabs rax, 0xffff4037c1acde00
pxor xmm0, xmm0
add rsi, rax
cvtsi2sd xmm0, rsi
divsd xmm0, qword [0x14033d628]
movd eax, xmm0
movq rdx, xmm0
neg eax
or eax, edx
shr rdx, 0x20
and edx, 0x7fffffff
shr eax, 0x1f
or eax, edx
mov edx, 0x7ff00000
cmp edx, eax
js 0x140297fb5
mov edx, 8
movsd qword [rbx], xmm0
mov word [rbx + 0x14], dx
add rsp, 0x60
pop rbx
pop rsi
pop r12
ret
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x140297fe5
movsxd rax, dword [rcx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
cmp byte [rax], 0x41
je 0x140298200
mov rcx, qword [rbx]
call sym.sqlite3StmtCurrentTime.isra.0
mov qword [rsp + 0x30], rax
mov rsi, rax
test rax, rax
jle 0x140297fb5
cmp byte [rsp + 0x5f], 0
mov byte [rsp + 0x58], 1
jne 0x140297f4d
movabs rdx, 0x20c49ba5e353f7cf
sar rsi, 0x3f
imul rdx
movabs rax, 0xffffffcee75c96c0
sar rdx, 7
sub rdx, rsi
add rdx, rax
jmp 0x14029815e
movsxd rax, dword [rsp + 0x38]
lea edx, [rax + 0x1269]
cmp edx, 0x3978
ja 0x1402980f0
cmp byte [rsp + 0x59], 0
mov edx, dword [rsp + 0x3c]
mov r8d, dword [rsp + 0x40]
jne 0x1402980f0
cmp edx, 2
jle 0x140298290
lea ecx, [rax + 0x126c]
add edx, 1
mov r9d, 0xd1b71759
imul ecx, ecx, 0x8ead
pxor xmm0, xmm0
imul edx, edx, 0x4ab51
imul rax, rax, 0x51eb851f
imul rcx, rcx, 0x51eb851f
imul rdx, r9
mov rsi, rax
sar rax, 0x27
shr rcx, 0x25
sar rsi, 0x25
shr rdx, 0x2d
sub eax, esi
add edx, ecx
add r8d, edx
lea eax, [r8 + rax + 2]
cvtsi2sd xmm0, eax
subsd xmm0, qword [0x14033d620]
mulsd xmm0, qword [0x14033d430]
cvttsd2si rsi, xmm0
jmp 0x140297f26
movzx eax, byte [rsp + 0x5f]
mov rsi, qword [rsp + 0x30]
jmp 0x140297f40
mov qword [rsp + 0x58], 0
xor esi, esi
mov qword [rsp + 0x30], 0
mov qword [rsp + 0x38], 0
mov qword [rsp + 0x40], 0
mov qword [rsp + 0x48], 0
mov qword [rsp + 0x50], 0
mov byte [rsp + 0x5e], 1
movabs rdx, 0x20c49ba5e353f7cf
mov rax, rsi
sar rsi, 0x3f
imul rdx
movabs rax, 0xffffffcee75c96c0
sar rdx, 7
sub rdx, rsi
add rdx, rax
test rbx, rbx
je 0x140297fb5
mov rcx, qword [rbx]
test word [rcx + 0x14], 0x9000
jne 0x140298280
mov eax, 4
mov qword [rcx], rdx
mov word [rcx + 0x14], ax
jmp 0x140297fb5
movsd xmm0, qword [0x14033d628]
mulsd xmm0, qword [rsp + 0x50]
imul edx, dword [rsp + 0x48], 0xea60
addsd xmm0, qword [0x14033d630]
imul eax, dword [rsp + 0x44], 0x36ee80
add eax, edx
cvttsd2si rdx, xmm0
cdqe
add rax, rdx
add rsi, rax
cmp byte [rsp + 0x5c], 0
movzx eax, byte [rsp + 0x5f]
mov qword [rsp + 0x30], rsi
je 0x140297f40
imul edx, dword [rsp + 0x4c], 0xea60
xor r8d, r8d
mov byte [rsp + 0x5c], 0
mov word [rsp + 0x5a], r8w
movsxd rdx, edx
sub rsi, rdx
mov qword [rsp + 0x30], rsi
jmp 0x140297f40
mov rcx, rbx
call sym.vdbeMemClearExternAndSetNull
jmp 0x140297f65
movzx eax, word [rax + 2]
lea r8, str.a_CHECK_constraint
test al, 4
je 0x140298260
mov rax, qword [rbx + 8]
lea rcx, str.non_deterministic_use_of__s___in__s
mov rdx, qword [rax + 0x38]
call sym.sqlite3_mprintf
mov dword [rbx + 0x24], 1
mov r9d, 1
mov r8, 0xffffffffffffffff
mov qword [rsp + 0x20], 0xffffffffffffffff
mov rcx, qword [rbx]
mov r12, rax
mov rdx, rax
call sym.sqlite3VdbeMemSetStr
mov rcx, r12
call sym.sqlite3_free
nop
add rsp, 0x60
pop rbx
pop rsi
pop r12
ret
test al, 8
lea r8, str.a_generated_column
lea rax, str.an_index
cmove r8, rax
jmp 0x14029820f
call sym.vdbeReleaseAndSetInt64
jmp 0x140297fb5
lea r9d, [rax - 1]
add eax, 0x126b
pxor xmm0, xmm0
imul eax, eax, 0x8ead
imul rax, rax, 0x51eb851f
shr rax, 0x25
mov rcx, rax
lea eax, [rdx + 0xd]
imul eax, eax, 0x4ab51
movsxd rdx, eax
sar eax, 0x1f
imul rdx, rdx, 0x68db8bad
sar rdx, 0x2c
sub edx, eax
lea eax, [rcx + rdx]
movsxd rdx, r9d
imul rdx, rdx, 0x51eb851f
add eax, r8d
mov rsi, rdx
sar rdx, 0x27
sar rsi, 0x25
sub edx, esi
lea eax, [rax + rdx + 2]
cvtsi2sd xmm0, eax
subsd xmm0, qword [0x14033d620]
mulsd xmm0, qword [0x14033d430]
cvttsd2si rsi, xmm0
jmp 0x140297f26