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

Disassembly:
push r13
push r12
push rbx
add rsp, 0xffffffffffffff80
mov qword [rsp + 0x50], 0
mov r12, rcx
lea r13, [rsp + 0x50]
mov qword [rsp + 0x58], 0
mov qword [rsp + 0x60], 0
mov qword [rsp + 0x68], 0
mov qword [rsp + 0x70], 0
mov qword [rsp + 0x78], 0
test edx, edx
je 0x140163a78
mov r9, r13
call sym.isDate.part.0
test eax, eax
je 0x140163ab8
sub rsp, 0xffffffffffffff80
pop rbx
pop r12
pop r13
ret
mov rdx, qword [rcx + 0x18]
test rdx, rdx
je 0x140163a9d
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 0x140163fd0
mov rcx, qword [r12]
call sym.sqlite3StmtCurrentTime.isra.0
mov qword [rsp + 0x50], rax
test rax, rax
jle 0x140163a67
mov byte [rsp + 0x78], 1
nop dword [rax]
cmp byte [rsp + 0x7a], 0
jne 0x140163ac7
mov rcx, r13
call sym.computeYMD.part.0
cmp byte [rsp + 0x7b], 0
jne 0x140163fb8
cmp byte [rsp + 0x78], 0
jne 0x140163ae1
mov rcx, r13
call sym.computeJD.part.0
mov rax, qword [rsp + 0x50]
pxor xmm0, xmm0
mov byte [rsp + 0x79], 0
movabs rdx, 0x636ba875fd33dc87
mov byte [rsp + 0x7b], 1
lea rcx, [rax + 0x2932e00]
mov rax, rcx
imul rdx
mov rax, rcx
sar rax, 0x3f
sar rdx, 0x19
sub rdx, rax
imul rdx, rdx, 0x5265c00
sub rcx, rdx
movsxd rdx, ecx
mov eax, ecx
imul rdx, rdx, 0x45e7b273
sar eax, 0x1f
sar rdx, 0x2e
sub edx, eax
imul eax, edx, 0xea60
mov r8d, edx
sar r8d, 0x1f
sub ecx, eax
movsxd rax, edx
imul rax, rax, 0xffffffff88888889
cvtsi2sd xmm0, ecx
divsd xmm0, qword [0x14033d628]
movsd qword [rsp + 0x70], xmm0
shr rax, 0x20
add eax, edx
sar eax, 5
mov ecx, eax
sub eax, r8d
sub ecx, r8d
mov dword [rsp + 0x64], eax
imul r9d, ecx, 0x3c
mov ecx, edx
sub ecx, r9d
mov dword [rsp + 0x68], ecx
mov r9d, dword [rsp + 0x58]
mov r11d, 0xcccccccd
mov byte [rsp + 0x35], 0x2d
mov byte [rsp + 0x38], 0x2d
mov edx, r9d
mov byte [rsp + 0x3b], 0x20
sar edx, 0x1f
mov byte [rsp + 0x3e], 0x3a
mov r8d, edx
mov byte [rsp + 0x41], 0x3a
xor r8d, r9d
sub r8d, edx
mov edx, r8d
imul r10, rdx, 0x10624dd3
shr r10, 0x26
mov ebx, r10d
imul rbx, r11
shr rbx, 0x23
lea ebx, [rbx + rbx*4]
add ebx, ebx
sub r10d, ebx
add r10d, 0x30
mov byte [rsp + 0x31], r10b
imul r10, rdx, 0x51eb851f
imul rdx, r11
shr r10, 0x25
mov ebx, r10d
shr rdx, 0x23
imul rbx, r11
shr rbx, 0x23
lea ebx, [rbx + rbx*4]
add ebx, ebx
sub r10d, ebx
add r10d, 0x30
mov byte [rsp + 0x32], r10b
mov r10d, edx
imul r11, r10
mov r10d, edx
lea edx, [rdx + rdx*4]
add edx, edx
sub r8d, edx
shr r11, 0x23
add r8d, 0x30
lea r11d, [r11 + r11*4]
mov byte [rsp + 0x34], r8b
movsxd r8, dword [rsp + 0x5c]
add r11d, r11d
sub r10d, r11d
add r10d, 0x30
mov byte [rsp + 0x33], r10b
mov r10, r8
imul r8, r8, 0x66666667
mov r11d, r10d
sar r11d, 0x1f
sar r8, 0x22
mov edx, r8d
sub edx, r11d
movsxd r8, edx
mov r11d, edx
imul r8, r8, 0x66666667
sar r8, 0x22
sar r11d, 0x1f
sub r8d, r11d
lea r11d, [r8 + r8*4]
mov r8d, edx
add r11d, r11d
sub r8d, r11d
add r8d, 0x30
mov byte [rsp + 0x36], r8b
lea r8d, [rdx + rdx*4]
mov edx, r10d
add r8d, r8d
sub edx, r8d
movsxd r8, dword [rsp + 0x60]
add edx, 0x30
mov r10, r8
imul r8, r8, 0x66666667
mov byte [rsp + 0x37], dl
mov r11d, r10d
sar r11d, 0x1f
sar r8, 0x22
mov edx, r8d
sub edx, r11d
movsxd r8, edx
mov r11d, edx
imul r8, r8, 0x66666667
sar r11d, 0x1f
sar r8, 0x22
sub r8d, r11d
lea r11d, [r8 + r8*4]
mov r8d, edx
add r11d, r11d
sub r8d, r11d
add r8d, 0x30
mov byte [rsp + 0x39], r8b
lea r8d, [rdx + rdx*4]
mov edx, r10d
add r8d, r8d
sub edx, r8d
mov r8d, eax
add edx, 0x30
sar r8d, 0x1f
mov byte [rsp + 0x3a], dl
movsxd rdx, eax
imul rdx, rdx, 0x66666667
sar rdx, 0x22
sub edx, r8d
movsxd r8, edx
mov r10d, edx
imul r8, r8, 0x66666667
sar r10d, 0x1f
sar r8, 0x22
sub r8d, r10d
lea r10d, [r8 + r8*4]
mov r8d, edx
lea edx, [rdx + rdx*4]
add r10d, r10d
sub r8d, r10d
add edx, edx
sub eax, edx
mov edx, ecx
add r8d, 0x30
add eax, 0x30
sar edx, 0x1f
mov byte [rsp + 0x3c], r8b
mov byte [rsp + 0x3d], al
movsxd rax, ecx
imul rax, rax, 0x66666667
sar rax, 0x22
sub eax, edx
movsxd rdx, eax
mov r8d, eax
imul rdx, rdx, 0x66666667
sar r8d, 0x1f
sar rdx, 0x22
sub edx, r8d
lea r8d, [rdx + rdx*4]
mov edx, eax
lea eax, [rax + rax*4]
add r8d, r8d
add eax, eax
sub edx, r8d
sub ecx, eax
add edx, 0x30
add ecx, 0x30
cmp byte [rsp + 0x7f], 0
mov byte [rsp + 0x3f], dl
mov byte [rsp + 0x40], cl
jne 0x140163e58
cvttsd2si ecx, xmm0
mov byte [rsp + 0x44], 0
movsxd rax, ecx
mov edx, ecx
imul rax, rax, 0x66666667
sar edx, 0x1f
sar rax, 0x22
sub eax, edx
movsxd rdx, eax
mov r8d, eax
imul rdx, rdx, 0x66666667
sar r8d, 0x1f
sar rdx, 0x22
sub edx, r8d
lea r8d, [rdx + rdx*4]
mov edx, eax
add r8d, r8d
sub edx, r8d
mov r8d, 0x13
add edx, 0x30
mov byte [rsp + 0x42], dl
lea edx, [rax + rax*4]
mov eax, ecx
add edx, edx
sub eax, edx
add eax, 0x30
mov byte [rsp + 0x43], al
mov eax, 0x14
test r9d, r9d
js 0x140163f80
test r12, r12
je 0x140163a67
lea rdx, [rsp + 0x31]
mov r9d, 1
mov rcx, r12
mov qword [rsp + 0x20], 0xffffffffffffffff
call sym.setResultStrOrError
nop
sub rsp, 0xffffffffffffff80
pop rbx
pop r12
pop r13
ret
mulsd xmm0, qword [0x14033d628]
mov byte [rsp + 0x44], 0x2e
addsd xmm0, qword [0x14033d630]
mov byte [rsp + 0x48], 0
cvttsd2si ecx, xmm0
movsxd rax, ecx
mov r8d, ecx
imul rdx, rax, 0x68db8bad
sar r8d, 0x1f
sar rdx, 0x2c
sub edx, r8d
movsxd r10, edx
mov r11d, edx
imul r10, r10, 0x66666667
sar r11d, 0x1f
sar r10, 0x22
sub r10d, r11d
lea r10d, [r10 + r10*4]
add r10d, r10d
sub edx, r10d
add edx, 0x30
mov byte [rsp + 0x42], dl
imul rdx, rax, 0x10624dd3
sar rdx, 0x26
sub edx, r8d
movsxd r10, edx
mov r11d, edx
imul r10, r10, 0x66666667
sar r11d, 0x1f
sar r10, 0x22
sub r10d, r11d
lea r10d, [r10 + r10*4]
add r10d, r10d
sub edx, r10d
add edx, 0x30
mov byte [rsp + 0x43], dl
imul rdx, rax, 0x51eb851f
imul rax, rax, 0x66666667
sar rdx, 0x25
sub edx, r8d
movsxd r10, edx
mov r11d, edx
imul r10, r10, 0x66666667
sar r11d, 0x1f
sar r10, 0x22
sub r10d, r11d
lea r10d, [r10 + r10*4]
add r10d, r10d
sub edx, r10d
add edx, 0x30
sar rax, 0x22
sub eax, r8d
mov byte [rsp + 0x45], dl
movsxd rdx, eax
mov r8d, eax
imul rdx, rdx, 0x66666667
sar r8d, 0x1f
sar rdx, 0x22
sub edx, r8d
lea r8d, [rdx + rdx*4]
mov edx, eax
lea eax, [rax + rax*4]
add r8d, r8d
add eax, eax
sub edx, r8d
sub ecx, eax
mov r8d, 0x17
mov eax, 0x18
add edx, 0x30
add ecx, 0x30
mov byte [rsp + 0x46], dl
mov byte [rsp + 0x47], cl
test r9d, r9d
jns 0x140163e21
mov byte [rsp + 0x30], 0x2d
test r12, r12
je 0x140163a67
mov qword [rsp + 0x20], 0xffffffffffffffff
lea rdx, [rsp + 0x30]
mov r8d, eax
mov rcx, r12
mov r9d, 1
call sym.setResultStrOrError
jmp 0x140163a67
mov eax, dword [rsp + 0x64]
mov ecx, dword [rsp + 0x68]
movsd xmm0, qword [rsp + 0x70]
jmp 0x140163b85
movzx eax, word [rax + 2]
lea r8, str.a_CHECK_constraint
test al, 4
je 0x140164038
mov rax, qword [r12 + 8]
lea rcx, str.non_deterministic_use_of__s___in__s
mov rdx, qword [rax + 0x38]
call sym.sqlite3_mprintf
mov rcx, qword [r12]
mov dword [r12 + 0x24], 1
mov r9d, 1
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r13, rax
mov r8, 0xffffffffffffffff
mov rdx, rax
call sym.sqlite3VdbeMemSetStr
mov rcx, r13
call sym.sqlite3_free
nop
sub rsp, 0xffffffffffffff80
pop rbx
pop r12
pop r13
ret
test al, 8
lea r8, str.a_generated_column
lea rax, str.an_index
cmove r8, rax
jmp 0x140163fdf