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

Disassembly:
push rdi
push rsi
push rbx
add rsp, 0xffffffffffffff80
xor eax, eax
lea rsi, [rsp + 0x50]
mov rbx, rcx
mov ecx, 6
mov rdx, qword [rbx + 0x18]
mov rdi, rsi
rep stosq qword [rdi], rax
test rdx, rdx
je 0x140164851
movsxd rax, dword [rbx + 0x20]
lea rcx, [rax + rax*2]
mov rax, qword [rdx + 0x88]
lea rax, [rax + rcx*8]
cmp byte [rax], 0x41
je 0x140164c50
mov rcx, qword [rbx]
call sym.sqlite3StmtCurrentTime.isra.0
test rax, rax
mov qword [rsp + 0x50], rax
jle 0x140164c0f
mov rcx, rsi
mov byte [rsp + 0x78], 1
call sym.computeYMD.part.0
cmp byte [rsp + 0x7b], 0
jne 0x140164cc8
cmp byte [rsp + 0x78], 0
jne 0x14016488e
mov rcx, rsi
call sym.computeJD.part.0
mov rax, qword [rsp + 0x50]
pxor xmm0, xmm0
pxor xmm2, xmm2
mov byte [rsp + 0x79], 0
mov byte [rsp + 0x7b], 1
lea rcx, [rax + 0x2932e00]
movabs rax, 0x636ba875fd33dc87
imul rcx
mov rax, rcx
sar rax, 0x3f
sar rdx, 0x19
sub rdx, rax
imul rdx, rdx, 0x5265c00
sub rcx, rdx
cvtsi2sd xmm0, ecx
divsd xmm0, qword [0x14031f660]
cvttsd2si eax, xmm0
movsxd rcx, eax
cdq
imul rcx, rcx, 0xffffffff91a2b3c5
cvtsi2sd xmm2, eax
shr rcx, 0x20
subsd xmm0, xmm2
add ecx, eax
sar ecx, 0xb
sub ecx, edx
imul r8d, ecx, 0xfffff1f0
movd xmm1, ecx
add r8d, eax
movsxd rdx, r8d
mov r9d, r8d
imul rdx, rdx, 0xffffffff88888889
sar r9d, 0x1f
shr rdx, 0x20
add edx, r8d
sar edx, 5
sub edx, r9d
mov r10d, edx
mov r9d, edx
movd xmm4, edx
shl r10d, 4
punpckldq xmm1, xmm4
movq qword [rsp + 0x64], xmm1
pxor xmm1, xmm1
sub r9d, r10d
lea r8d, [r8 + r9*4]
cvtsi2sd xmm1, r8d
addsd xmm1, xmm0
movsd qword [rsp + 0x70], xmm1
mov r8d, dword [rsp + 0x58]
mov esi, 0xcccccccd
mov byte [rsp + 0x35], 0x2d
movd xmm0, dword [str.0000000000000000]
mov byte [rsp + 0x38], 0x2d
mov byte [rsp + 0x3b], 0x20
mov byte [rsp + 0x3e], 0x3a
mov eax, r8d
mov byte [rsp + 0x41], 0x3a
neg eax
mov byte [rsp + 0x44], 0
cmovs eax, r8d
mov edi, eax
imul r9, rdi, 0x10624dd3
imul r11, rdi, 0x51eb851f
imul rdi, rsi
shr r9, 0x26
mov r10d, r9d
shr r11, 0x25
imul r10, rsi
shr rdi, 0x23
shr r10, 0x23
lea r10d, [r10 + r10*4]
add r10d, r10d
sub r9d, r10d
mov r10d, r11d
imul r10, rsi
movzx r9d, r9b
shr r10, 0x23
lea r10d, [r10 + r10*4]
add r10d, r10d
sub r11d, r10d
mov r10d, edi
imul r10, rsi
movzx r11d, r11b
shr r10, 0x23
lea esi, [r10 + r10*4]
mov r10d, edi
add esi, esi
sub r10d, esi
lea esi, [rdi + rdi*4]
movzx r10d, r10b
add esi, esi
sub eax, esi
movzx eax, al
shl eax, 8
or eax, r10d
shl eax, 8
or eax, r11d
shl eax, 8
or eax, r9d
movsxd r9, dword [rsp + 0x5c]
movd xmm3, eax
paddb xmm3, xmm0
mov r10, r9
imul r9, r9, 0x66666667
mov r11d, r10d
movd dword [rsp + 0x31], xmm3
sar r11d, 0x1f
sar r9, 0x22
mov eax, r9d
sub eax, r11d
movsxd r9, eax
mov r11d, eax
imul r9, r9, 0x66666667
sar r9, 0x22
sar r11d, 0x1f
sub r9d, r11d
lea r11d, [r9 + r9*4]
mov r9d, eax
add r11d, r11d
sub r9d, r11d
add r9d, 0x30
mov byte [rsp + 0x36], r9b
lea r9d, [rax + rax*4]
mov eax, r10d
add r9d, r9d
sub eax, r9d
movsxd r9, dword [rsp + 0x60]
add eax, 0x30
mov byte [rsp + 0x37], al
mov r10, r9
imul r9, r9, 0x66666667
mov r11d, r10d
sar r11d, 0x1f
sar r9, 0x22
mov eax, r9d
sub eax, r11d
movsxd r9, eax
mov r11d, eax
imul r9, r9, 0x66666667
sar r11d, 0x1f
sar r9, 0x22
sub r9d, r11d
lea r11d, [r9 + r9*4]
mov r9d, eax
add r11d, r11d
sub r9d, r11d
add r9d, 0x30
mov byte [rsp + 0x39], r9b
lea r9d, [rax + rax*4]
mov eax, r10d
add r9d, r9d
sub eax, r9d
mov r9d, ecx
add eax, 0x30
sar r9d, 0x1f
mov byte [rsp + 0x3a], al
movsxd rax, ecx
imul rax, rax, 0x66666667
sar rax, 0x22
sub eax, r9d
movsxd r9, eax
mov r10d, eax
imul r9, r9, 0x66666667
sar r10d, 0x1f
sar r9, 0x22
sub r9d, r10d
lea r10d, [r9 + r9*4]
mov r9d, eax
lea eax, [rax + rax*4]
add r10d, r10d
sub r9d, r10d
add r9d, 0x30
add eax, eax
sub ecx, eax
movsxd rax, edx
mov byte [rsp + 0x3c], r9b
imul rax, rax, 0x66666667
add ecx, 0x30
mov byte [rsp + 0x3d], cl
mov ecx, edx
sar ecx, 0x1f
sar rax, 0x22
sub eax, ecx
movsxd rcx, eax
mov r9d, eax
imul rcx, rcx, 0x66666667
sar r9d, 0x1f
sar rcx, 0x22
sub ecx, r9d
lea r9d, [rcx + rcx*4]
mov ecx, eax
lea eax, [rax + rax*4]
add r9d, r9d
sub ecx, r9d
add eax, eax
add ecx, 0x30
sub edx, eax
mov byte [rsp + 0x3f], cl
add edx, 0x30
cvttsd2si ecx, xmm1
mov byte [rsp + 0x40], dl
movsxd rax, ecx
mov edx, ecx
imul rax, rax, 0x66666667
sar edx, 0x1f
sar rax, 0x22
sub eax, edx
movsxd rdx, eax
mov r9d, eax
imul rdx, rdx, 0x66666667
sar r9d, 0x1f
sar rdx, 0x22
sub edx, r9d
lea r9d, [rdx + rdx*4]
mov edx, eax
add r9d, r9d
sub edx, r9d
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
test r8d, r8d
mov byte [rsp + 0x43], al
js 0x140164c20
lea rdx, [rsp + 0x31]
mov r9d, 1
mov r8d, 0x13
mov qword [rsp + 0x20], 0xffffffffffffffff
mov rcx, rbx
call sym.setResultStrOrError
nop
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
ret
lea rdx, [rsp + 0x30]
mov r9d, 1
mov rcx, rbx
mov qword [rsp + 0x20], 0xffffffffffffffff
mov r8d, 0x14
mov byte [rsp + 0x30], 0x2d
call sym.setResultStrOrError
nop
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
ret
movzx eax, word [rax + 2]
lea r8, str.a_CHECK_constraint
test al, 4
jne 0x140164c73
lea r8, str.an_index
test al, 8
lea rax, str.a_generated_column
cmovne r8, rax
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 rcx, qword [rbx]
mov dword [rbx + 0x24], 1
mov r9d, 1
mov rsi, rax
mov r8, 0xffffffffffffffff
mov rdx, rax
mov qword [rsp + 0x20], 0xffffffffffffffff
call sym.sqlite3VdbeMemSetStr
mov rcx, rsi
sub rsp, 0xffffffffffffff80
pop rbx
pop rsi
pop rdi
jmp sym.sqlite3_free
mov ecx, dword [rsp + 0x64]
mov edx, dword [rsp + 0x68]
movsd xmm1, qword [rsp + 0x70]
jmp 0x14016495d