// File: /workspace/github_cpp_makefile_star2_O1/Rubenmp[P]Rubik/src/defineRubik.cpp
// Function: Rubik::permutationFinalCorners(std::vector<char, std::allocator<char>>&)
void Rubik::permutationFinalCorners(vector<char>& solution){
	bool repeat = true;
   while (repeat){
      if (searchCorner('y', 'o', 'g') == 4){
      	if (searchCorner('y', 'r', 'l') == 5) // rDLdRDld
            sequence("rDLdRDld", solution);
      	else if(searchCorner('y', 'r', 'l') == 7) // BdfDbdFD
            sequence("BdfDbdFD", solution);

      	repeat = false;
      }
      else if (searchCorner('y', 'g', 'r') == 5){
      	if (searchCorner('y', 'r', 'l') == 4) // bDFdBDfd
            sequence("bDFdBDfd", solution);
      	else if (searchCorner('y', 'r', 'l') == 7) // LdrDldRD
            sequence("LdrDldRD", solution);

      	repeat = false;
      }
      else if (searchCorner('y', 'l', 'o') == 7){
      	if (searchCorner('y', 'r', 'l') == 4) // RdlDrdLD
            sequence("RdlDrdLD", solution);
      	else if (searchCorner('y', 'r', 'l') == 5) // fDBdFDbd
            sequence("fDBdFDbd", solution);

      	repeat = false;
      }
      else if (searchCorner('y', 'r', 'l') == 6){
      	if (searchCorner('y', 'o', 'g') == 5) // FdbDfdBD
            sequence("FdbDfdBD", solution);
      	else if (searchCorner('y', 'o', 'g') == 7) // lDRdLDrd
            sequence("lDRdLDrd", solution);

      	repeat = false;
      }
      else // LdrDldRD
         sequence("LdrDldRD", solution);
   }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
subq $0x28, %rsp
movq %rsi, %rbx
movq %rdi, %r14
movb $0x1, %bpl
leaq 0x8(%rsp), %r15
leaq 0x7(%rsp), %r12
leaq 0x6(%rsp), %r13
movb $0x79, 0x8(%rsp)
movb $0x6f, 0x7(%rsp)
movb $0x67, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x4, %eax
jne 0x86f1
movb $0x79, 0x8(%rsp)
movb $0x72, 0x7(%rsp)
movb $0x6c, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x5, %eax
jne 0x8776
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x540a(%rip), %rsi      # 0xdadc
leaq 0x540b(%rip), %rdx      # 0xdae4
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
jmp 0x8a37
movb $0x79, 0x8(%rsp)
movb $0x67, 0x7(%rsp)
movb $0x72, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x5, %eax
jne 0x87d2
movb $0x79, 0x8(%rsp)
movb $0x72, 0x7(%rsp)
movb $0x6c, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x4, %eax
jne 0x8857
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x5397(%rip), %rsi      # 0xdaee
leaq 0x5398(%rip), %rdx      # 0xdaf6
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
jmp 0x8a37
movb $0x79, 0x8(%rsp)
movb $0x72, 0x7(%rsp)
movb $0x6c, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x7, %eax
jne 0x8a53
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x5332(%rip), %rsi      # 0xdae5
leaq 0x5333(%rip), %rdx      # 0xdaed
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
jmp 0x8a37
movb $0x79, 0x8(%rsp)
movb $0x6c, 0x7(%rsp)
movb $0x6f, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x7, %eax
jne 0x88b3
movb $0x79, 0x8(%rsp)
movb $0x72, 0x7(%rsp)
movb $0x6c, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x4, %eax
jne 0x8938
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x52c8(%rip), %rsi      # 0xdb00
leaq 0x52c9(%rip), %rdx      # 0xdb08
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
jmp 0x8a37
movb $0x79, 0x8(%rsp)
movb $0x72, 0x7(%rsp)
movb $0x6c, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x7, %eax
jne 0x8a53
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x5263(%rip), %rsi      # 0xdaf7
leaq 0x5264(%rip), %rdx      # 0xdaff
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
jmp 0x8a37
movb $0x79, 0x8(%rsp)
movb $0x72, 0x7(%rsp)
movb $0x6c, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x6, %eax
jne 0x8994
movb $0x79, 0x8(%rsp)
movb $0x6f, 0x7(%rsp)
movb $0x67, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x5, %eax
jne 0x89e4
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x51f9(%rip), %rsi      # 0xdb12
leaq 0x51fa(%rip), %rdx      # 0xdb1a
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
jmp 0x8a37
movb $0x79, 0x8(%rsp)
movb $0x72, 0x7(%rsp)
movb $0x6c, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x5, %eax
jne 0x8a53
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x5194(%rip), %rsi      # 0xdb09
leaq 0x5195(%rip), %rdx      # 0xdb11
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
jmp 0x8a37
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x514f(%rip), %rsi      # 0xdaf7
leaq 0x5150(%rip), %rdx      # 0xdaff
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x8a55
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x8a55
movb $0x79, 0x8(%rsp)
movb $0x6f, 0x7(%rsp)
movb $0x67, 0x6(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x3776
cmpl $0x7, %eax
jne 0x8a53
leaq 0x18(%rsp), %rax
movq %rax, 0x8(%rsp)
movq %r15, %rdi
leaq 0x50fe(%rip), %rsi      # 0xdb1b
leaq 0x50ff(%rip), %rdx      # 0xdb23
callq 0x332e
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3ba4
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x8a53
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
xorl %ebp, %ebp
testb $0x1, %bpl
jne 0x8670
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x8a8e
jmp 0x8aaf
jmp 0x8a8e
jmp 0x8aaf
jmp 0x8a8e
jmp 0x8aaf
jmp 0x8a8e
jmp 0x8aaf
jmp 0x8a8e
jmp 0x8aaf
jmp 0x8a8e
jmp 0x8aaf
jmp 0x8a8e
jmp 0x8aaf
jmp 0x8a8e
jmp 0x8aaf
movq %rax, %rbx
movq 0x8(%rsp), %rdi
leaq 0x18(%rsp), %rax
cmpq %rax, %rdi
je 0x8ab2
movq 0x18(%rsp), %rsi
incq %rsi
callq 0x21a0
jmp 0x8ab2
movq %rax, %rbx
movq %rbx, %rdi
callq 0x2280