// File: Teris45[P]Maze-Game/Moving.cpp
// Function: MyMoving::getShortestEuclidean(Poter&, std::vector<Point, std::allocator<Point>> const&)
Point MyMoving::getShortestEuclidean(Poter &poter, const vector<Point> &possibleMoveSet) {
    int flag_first = 0;
    Point p(0,0);
    float min_euclidean = 0.0;
    for(Point points:possibleMoveSet){
        if(flag_first == 0){
            flag_first = 1;
            p.setY(points.getY());
            p.setX(points.getX());
            min_euclidean = points.euclidean(poter.getPoint());
        }
        else{
            float temp = points.euclidean(poter.getPoint());
            if(temp<min_euclidean){
                p.setY(points.getY());
                p.setX(points.getX());
            }
        }
    }

    return p;

}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0xb0, %rsp
movq %rdi, -0x98(%rbp)
movq %rdi, %rax
movq %rax, -0x90(%rbp)
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movl $0x0, -0x1c(%rbp)
movb $0x0, -0x1d(%rbp)
xorl %edx, %edx
movl %edx, %esi
callq 0xa8d0
xorps %xmm0, %xmm0
movss %xmm0, -0x24(%rbp)
movq -0x18(%rbp), %rax
movq %rax, -0x30(%rbp)
movq -0x30(%rbp), %rdi
callq 0xc030
movq %rax, -0x38(%rbp)
movq -0x30(%rbp), %rdi
callq 0xc060
movq %rax, -0x40(%rbp)
leaq -0x38(%rbp), %rdi
leaq -0x40(%rbp), %rsi
callq 0xc090
testb $0x1, %al
jne 0xb6ec
jmp 0xb8b2
leaq -0x38(%rbp), %rdi
callq 0xc0d0
movq %rax, %rsi
leaq -0x50(%rbp), %rdi
callq 0x6310
cmpl $0x0, -0x1c(%rbp)
jne 0xb7c8
movl $0x1, -0x1c(%rbp)
leaq -0x50(%rbp), %rdi
callq 0xa5b0
movl %eax, -0x9c(%rbp)
jmp 0xb723
movl -0x9c(%rbp), %esi
movq -0x98(%rbp), %rdi
callq 0xa590
jmp 0xb737
leaq -0x50(%rbp), %rdi
callq 0xa570
movl %eax, -0xa0(%rbp)
jmp 0xb748
movl -0xa0(%rbp), %esi
movq -0x98(%rbp), %rdi
callq 0xa550
jmp 0xb75c
movq -0x10(%rbp), %rsi
leaq -0x70(%rbp), %rdi
callq 0xa840
jmp 0xb76b
leaq -0x50(%rbp), %rdi
leaq -0x70(%rbp), %rsi
callq 0xa490
movss %xmm0, -0xa4(%rbp)
jmp 0xb782
movss -0xa4(%rbp), %xmm0
movss %xmm0, -0x24(%rbp)
leaq -0x70(%rbp), %rdi
callq 0xa900
jmp 0xb884
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
jmp 0xb89b
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x70(%rbp), %rdi
callq 0xa900
jmp 0xb89b
movq -0x10(%rbp), %rsi
leaq -0x88(%rbp), %rdi
callq 0xa840
jmp 0xb7da
leaq -0x50(%rbp), %rdi
leaq -0x88(%rbp), %rsi
callq 0xa490
movss %xmm0, -0xa8(%rbp)
jmp 0xb7f4
leaq -0x88(%rbp), %rdi
callq 0xa900
movss -0xa8(%rbp), %xmm0
movss %xmm0, -0x74(%rbp)
movss -0x74(%rbp), %xmm1
movss -0x24(%rbp), %xmm0
ucomiss %xmm1, %xmm0
jbe 0xb882
leaq -0x50(%rbp), %rdi
callq 0xa5b0
movl %eax, -0xac(%rbp)
jmp 0xb82d
movl -0xac(%rbp), %esi
movq -0x98(%rbp), %rdi
callq 0xa590
jmp 0xb841
leaq -0x50(%rbp), %rdi
callq 0xa570
movl %eax, -0xb0(%rbp)
jmp 0xb852
movl -0xb0(%rbp), %esi
movq -0x98(%rbp), %rdi
callq 0xa550
jmp 0xb866
jmp 0xb882
movq %rax, %rcx
movl %edx, %eax
movq %rcx, -0x58(%rbp)
movl %eax, -0x5c(%rbp)
leaq -0x88(%rbp), %rdi
callq 0xa900
jmp 0xb89b
jmp 0xb884
leaq -0x50(%rbp), %rdi
callq 0xa900
leaq -0x38(%rbp), %rdi
callq 0xc0f0
jmp 0xb6d6
leaq -0x50(%rbp), %rdi
callq 0xa900
movq -0x98(%rbp), %rdi
callq 0xa900
jmp 0xb8d8
movb $0x1, -0x1d(%rbp)
testb $0x1, -0x1d(%rbp)
jne 0xb8c8
movq -0x98(%rbp), %rdi
callq 0xa900
movq -0x90(%rbp), %rax
addq $0xb0, %rsp
popq %rbp
retq
movq -0x58(%rbp), %rdi
callq 0x3430
nopw %cs:(%rax,%rax)