// File: Rubenmp[P]Rubik/src/defineRubik.cpp
// Function: Rubik::sequence(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char>> const&, std::vector<char, std::allocator<char>>&)
void Rubik::sequence(const string& sec, vector<char>& solution){
   for (unsigned int i=0; i<sec.size(); ++i){
      if ( sec[i] == 'R' )
         R(solution);
      else if ( sec[i] == 'r')
         r(solution);
      else if ( sec[i] == 'L')
         L(solution);
      else if ( sec[i] == 'l')
         l(solution);
      else if ( sec[i] == 'D')
         D(solution);
      else if ( sec[i] == 'd')
         d(solution);
      else if ( sec[i] == 'U')
         U(solution);
      else if ( sec[i] == 'u')
         u(solution);
      else if ( sec[i] == 'F')
         F(solution);
      else if ( sec[i] == 'f')
         f(solution);
      else if ( sec[i] == 'B')
         B(solution);
      else if ( sec[i] == 'b')
         b(solution);
      else
        cerr << "Error: invalid movement " << sec[i] << endl;
   }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x40, %rsp
movq %rdi, -0x8(%rbp)
movq %rsi, -0x10(%rbp)
movq %rdx, -0x18(%rbp)
movq -0x8(%rbp), %rax
movq %rax, -0x28(%rbp)
movl $0x0, -0x1c(%rbp)
movl -0x1c(%rbp), %eax
movq %rax, -0x30(%rbp)
movq -0x10(%rbp), %rdi
callq 0x2180
movq %rax, %rcx
movq -0x30(%rbp), %rax
cmpq %rcx, %rax
jae 0x55a3
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x52, %eax
jne 0x538b
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x55b0
jmp 0x5593
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x72, %eax
jne 0x53b3
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5660
jmp 0x5591
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x4c, %eax
jne 0x53db
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5710
jmp 0x558f
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x6c, %eax
jne 0x5403
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x57c0
jmp 0x558d
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x44, %eax
jne 0x542b
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5870
jmp 0x558b
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x64, %eax
jne 0x5453
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5910
jmp 0x5589
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x55, %eax
jne 0x547b
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x59b0
jmp 0x5587
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x75, %eax
jne 0x54a3
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5a50
jmp 0x5585
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x46, %eax
jne 0x54cb
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5af0
jmp 0x5583
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x66, %eax
jne 0x54f3
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5bb0
jmp 0x5581
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x42, %eax
jne 0x5518
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5c70
jmp 0x557f
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movsbl (%rax), %eax
cmpl $0x62, %eax
jne 0x553d
movq -0x28(%rbp), %rdi
movq -0x18(%rbp), %rsi
callq 0x5d30
jmp 0x557d
movq 0x17aac(%rip), %rdi     # 0x1cff0
leaq 0x11f0d(%rip), %rsi     # 0x17458
callq 0x2230
movq %rax, -0x38(%rbp)
movq -0x10(%rbp), %rdi
movl -0x1c(%rbp), %eax
movl %eax, %esi
callq 0x22b0
movq -0x38(%rbp), %rdi
movsbl (%rax), %esi
callq 0x22e0
movq %rax, %rdi
movq 0x17a40(%rip), %rsi     # 0x1cfb8
callq 0x2260
jmp 0x557f
jmp 0x5581
jmp 0x5583
jmp 0x5585
jmp 0x5587
jmp 0x5589
jmp 0x558b
jmp 0x558d
jmp 0x558f
jmp 0x5591
jmp 0x5593
jmp 0x5595
movl -0x1c(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x1c(%rbp)
jmp 0x5343
addq $0x40, %rsp
popq %rbp
retq
nopl (%rax)