// File: /workspace/github_cpp_makefile_star2_O3/Proudc[P]CTSS/src/ContinuousQuery/Base.cpp
// Function: handleNewPath(Graph*, TraversingPath*, TraversingPath*, int)
void handleNewPath(Graph* myGraph, TraversingPath* oldPath, TraversingPath* newPath, const int newVertexID)
{
	printf("Start processing new Traversingpath...\n");
	(*newPath) = (*oldPath);
	const Vertex finalVertex = myGraph->vertexsVector[oldPath->finalVertexID];
	const Vertex newVertex   = myGraph->vertexsVector[newVertexID];
	newPath->edges.push_back(findEdge(myGraph, newVertex, finalVertex).edgeID);
	newPath->finalVertexID = newVertexID;
	newPath->distToRefer   = std::max(newPath->distToRefer, newVertex.distToRefer);
	if (newPath->minPos < newVertex.minPos)
	{
		newPath->minPos = newVertex.minPos;
	}
	newPath->maxPos = newVertex.maxPos;
	printf("Processing the new Traversingpath is complete!!!\n");
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x1f8, %rsp            # imm = 0x1F8
movl %ecx, %r13d
movq %rdx, %rbx
movq %rsi, %r14
movq %rdi, %r12
leaq 0x61b0(%rip), %rdi      # 0xc67a
callq 0x21b0
movups (%r14), %xmm0
movups 0x10(%r14), %xmm1
movups %xmm0, (%rbx)
movups %xmm1, 0x10(%rbx)
movq 0x20(%r14), %rax
movq %rax, 0x20(%rbx)
leaq 0x28(%rbx), %rdi
leaq 0x28(%r14), %rsi
movq %rdi, -0x38(%rbp)
callq 0x6cbc
movq 0x10(%r12), %r15
movslq 0x8(%r14), %rax
imulq $0x70, %rax, %r14
leaq (%r15,%r14), %rsi
addq $0x40, %rsi
movups -0x40(%rsi), %xmm0
movups -0x30(%rsi), %xmm1
movups -0x20(%rsi), %xmm2
movups -0x10(%rsi), %xmm3
leaq -0x100(%rbp), %rdi
movaps %xmm3, -0x10(%rdi)
movaps %xmm2, -0x20(%rdi)
movaps %xmm1, -0x30(%rdi)
movaps %xmm0, -0x40(%rdi)
callq 0x6c1e
leaq -0xe8(%rbp), %rdi
leaq (%r15,%r14), %rsi
addq $0x58, %rsi
callq 0x6c1e
movq %r12, -0x40(%rbp)
movq 0x10(%r12), %r12
movl %r13d, -0x2c(%rbp)
movslq %r13d, %rax
imulq $0x70, %rax, %r14
leaq (%r12,%r14), %rsi
addq $0x40, %rsi
movups -0x40(%rsi), %xmm0
movups -0x30(%rsi), %xmm1
movups -0x20(%rsi), %xmm2
movups -0x10(%rsi), %xmm3
leaq -0x90(%rbp), %r15
movaps %xmm3, -0x10(%r15)
movaps %xmm2, -0x20(%r15)
movaps %xmm1, -0x30(%r15)
movaps %xmm0, -0x40(%r15)
movq %r15, %rdi
callq 0x6c1e
addq %r14, %r12
leaq -0x78(%rbp), %r14
addq $0x58, %r12
movq %r14, %rdi
movq %r12, %rsi
callq 0x6c1e
movaps -0xd0(%rbp), %xmm0
movaps -0xc0(%rbp), %xmm1
movaps -0xb0(%rbp), %xmm2
movaps -0xa0(%rbp), %xmm3
leaq -0x170(%rbp), %rdi
movaps %xmm0, -0x40(%rdi)
movaps %xmm1, -0x30(%rdi)
movaps %xmm2, -0x20(%rdi)
movaps %xmm3, -0x10(%rdi)
movq %r15, %rsi
callq 0x6c1e
movq -0x40(%rbp), %r15
leaq -0x158(%rbp), %rdi
movq %r14, %rsi
callq 0x6c1e
movaps -0x140(%rbp), %xmm0
movaps -0x130(%rbp), %xmm1
movaps -0x120(%rbp), %xmm2
movaps -0x110(%rbp), %xmm3
leaq -0x1e0(%rbp), %rdi
movaps %xmm3, -0x10(%rdi)
movaps %xmm2, -0x20(%rdi)
movaps %xmm1, -0x30(%rdi)
movaps %xmm0, -0x40(%rdi)
leaq -0x100(%rbp), %rsi
callq 0x6c1e
leaq -0x1c8(%rbp), %rdi
leaq -0xe8(%rbp), %rsi
callq 0x6c1e
movl -0x2c(%rbp), %r14d
movq -0x170(%rbp), %rax
movq -0x168(%rbp), %rcx
subq %rax, %rcx
je 0x66ae
sarq $0x2, %rcx
movl $0x1, %edx
movl -0x220(%rbp), %edi
xorl %esi, %esi
cmpl %edi, (%rax,%rsi,4)
je 0x668a
movl %edx, %esi
incl %edx
cmpq %rsi, %rcx
ja 0x667a
jmp 0x66ae
movq 0x8(%r15), %rax
movq -0x158(%rbp), %rcx
movslq (%rcx,%rsi,4), %rcx
shlq $0x5, %rcx
movups (%rax,%rcx), %xmm0
movups 0x10(%rax,%rcx), %xmm1
movaps %xmm0, -0x60(%rbp)
movaps %xmm1, -0x50(%rbp)
movq 0x30(%rbx), %rsi
cmpq 0x38(%rbx), %rsi
je 0x66c7
movl -0x60(%rbp), %eax
movl %eax, (%rsi)
addq $0x4, %rsi
movq %rsi, 0x30(%rbx)
jmp 0x66d4
leaq -0x60(%rbp), %rdx
movq -0x38(%rbp), %rdi
callq 0x6ebc
movq -0x1c8(%rbp), %rdi
testq %rdi, %rdi
je 0x66e5
callq 0x2120
movq -0x1e0(%rbp), %rdi
testq %rdi, %rdi
je 0x66f6
callq 0x2120
movq -0x158(%rbp), %rdi
testq %rdi, %rdi
je 0x6707
callq 0x2120
movq -0x170(%rbp), %rdi
testq %rdi, %rdi
je 0x6718
callq 0x2120
movl %r14d, 0x8(%rbx)
movsd -0xa8(%rbp), %xmm0
maxsd 0x10(%rbx), %xmm0
movsd %xmm0, 0x10(%rbx)
movl -0xcc(%rbp), %eax
cmpl %eax, (%rbx)
jge 0x673a
movl %eax, (%rbx)
movl -0xc8(%rbp), %eax
movl %eax, 0x4(%rbx)
leaq 0x5f57(%rip), %rdi      # 0xc6a1
callq 0x21b0
movq -0x78(%rbp), %rdi
testq %rdi, %rdi
je 0x675d
callq 0x2120
movq -0x90(%rbp), %rdi
testq %rdi, %rdi
je 0x676e
callq 0x2120
movq -0xe8(%rbp), %rdi
testq %rdi, %rdi
je 0x677f
callq 0x2120
movq -0x100(%rbp), %rdi
testq %rdi, %rdi
je 0x6790
callq 0x2120
addq $0x1f8, %rsp            # imm = 0x1F8
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
movq %rax, %rbx
leaq -0x220(%rbp), %rdi
callq 0x6b7e
jmp 0x67cc
movq %rax, %rbx
movq -0x1e0(%rbp), %rdi
testq %rdi, %rdi
je 0x67cc
callq 0x2120
jmp 0x67cc
movq %rax, %rbx
leaq -0x1b0(%rbp), %rdi
callq 0x6b7e
jmp 0x67f3
movq %rax, %rbx
movq -0x170(%rbp), %rdi
testq %rdi, %rdi
je 0x67f3
callq 0x2120
jmp 0x67f3
movq %rax, %rbx
leaq -0xd0(%rbp), %rdi
callq 0x6b7e
leaq -0x140(%rbp), %rdi
callq 0x6b7e
movq %rbx, %rdi
callq 0x2210
movq %rax, %rbx
movq -0x90(%rbp), %rdi
testq %rdi, %rdi
je 0x67ff
callq 0x2120
jmp 0x67ff
movq %rax, %rbx
jmp 0x67ff
movq %rax, %rbx
movq -0x100(%rbp), %rdi
testq %rdi, %rdi
je 0x680b
callq 0x2120
jmp 0x680b