// File: /workspace/github_cpp_makefile_star2_O2/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
leaq 0x8(%rsp), %r15
leaq 0x6(%rsp), %r12
leaq 0x7(%rsp), %r13
leaq 0x4237(%rip), %rbp      # 0xbb1b
movb $0x79, 0x8(%rsp)
movb $0x6f, 0x6(%rsp)
movb $0x67, 0x7(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x33c2
cmpl $0x4, %eax
je 0x79b1
movb $0x79, 0x8(%rsp)
movb $0x67, 0x6(%rsp)
movb $0x72, 0x7(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x33c2
cmpl $0x5, %eax
je 0x7a05
movb $0x79, 0x8(%rsp)
movb $0x6c, 0x6(%rsp)
movb $0x6f, 0x7(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x33c2
cmpl $0x7, %eax
je 0x7a59
movb $0x79, 0x8(%rsp)
movb $0x72, 0x6(%rsp)
movb $0x6c, 0x7(%rsp)
movq %r14, %rdi
movq %r15, %rsi
movq %r12, %rdx
movq %r13, %rcx
callq 0x33c2
cmpl $0x6, %eax
je 0x7aad
movq %r15, %rdi
movq %rbp, %rsi
movq %r12, %rdx
callq 0x2f4a
movq %r14, %rdi
movq %r15, %rsi
movq %rbx, %rdx
callq 0x3906
movq %r15, %rdi
callq 0x20e0
jmp 0x78e4
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x72, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x6c, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x5, %eax
jne 0x7b01
leaq 0x411f(%rip), %rsi      # 0xbb00
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
jmp 0x7c41
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x72, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x6c, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x4, %eax
jne 0x7b55
leaq 0x40dd(%rip), %rsi      # 0xbb12
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
jmp 0x7c41
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x72, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x6c, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x4, %eax
jne 0x7ba9
leaq 0x409b(%rip), %rsi      # 0xbb24
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
jmp 0x7c41
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x6f, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x67, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x5, %eax
jne 0x7bf6
leaq 0x4059(%rip), %rsi      # 0xbb36
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
jmp 0x7c41
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x72, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x6c, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x7, %eax
jne 0x7c4b
leaq 0x3fd8(%rip), %rsi      # 0xbb09
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
jmp 0x7c41
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x72, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x6c, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x7, %eax
jne 0x7c4b
leaq 0x3f96(%rip), %rsi      # 0xbb1b
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
jmp 0x7c41
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x72, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x6c, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x5, %eax
jne 0x7c4b
leaq 0x3f58(%rip), %rsi      # 0xbb2d
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
jmp 0x7c41
leaq 0x8(%rsp), %rsi
movb $0x79, (%rsi)
leaq 0x6(%rsp), %rdx
movb $0x6f, (%rdx)
leaq 0x7(%rsp), %rcx
movb $0x67, (%rcx)
movq %r14, %rdi
callq 0x33c2
cmpl $0x7, %eax
jne 0x7c4b
leaq 0x3f1d(%rip), %rsi      # 0xbb3f
leaq 0x8(%rsp), %rdi
leaq 0x6(%rsp), %rdx
callq 0x2f4a
leaq 0x8(%rsp), %rsi
movq %r14, %rdi
movq %rbx, %rdx
callq 0x3906
leaq 0x8(%rsp), %rdi
callq 0x20e0
addq $0x28, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
jmp 0x7c7a
jmp 0x7c89
jmp 0x7c7a
jmp 0x7c89
jmp 0x7c7a
jmp 0x7c89
jmp 0x7c7a
jmp 0x7c89
jmp 0x7c7a
jmp 0x7c89
jmp 0x7c7a
jmp 0x7c89
jmp 0x7c7a
jmp 0x7c89
jmp 0x7c7a
jmp 0x7c89
movq %rax, %rbx
leaq 0x8(%rsp), %rdi
callq 0x20e0
jmp 0x7c8c
movq %rax, %rbx
movq %rbx, %rdi
callq 0x2290