// File: /workspace/github_cpp_makefile_star2_O1/chuckwolber[P]Cube/test/test_cube.cpp
// Function: setColors(std::vector<CubieColor, std::allocator<CubieColor>>&, std::vector<CubieColor, std::allocator<CubieColor>>, unsigned int)
void setColors(std::vector<CubieColor>& cube,
               std::vector<CubieColor>colorList,
               unsigned int cubeSize) {
   unsigned int i = 0;

   /* Up Face */
   for (unsigned int j = 0; j < cubeSize; j++) {
      for (unsigned int k = 0; k < cubeSize; k++)
         i++;
      for (unsigned int k = 0; k < cubeSize; k++)
         cube.at(i++) = colorList.at(0);
      for (unsigned int k = 0; k < cubeSize; k++)
         i++;
      for (unsigned int k = 0; k < cubeSize; k++)
         i++;
   }

   /* Left, Front, Right, Back Faces */
   for (unsigned int j = 0; j < cubeSize; j++) {
      for (unsigned int k = 0; k < cubeSize; k++)
         cube.at(i++) = colorList.at(1);
      for (unsigned int k = 0; k < cubeSize; k++)
         cube.at(i++) = colorList.at(2);
      for (unsigned int k = 0; k < cubeSize; k++)
         cube.at(i++) = colorList.at(3);
      for (unsigned int k = 0; k < cubeSize; k++)
         cube.at(i++) = colorList.at(4);
   }

   /* Down Face */
   for (unsigned int j = 0; j < cubeSize; j++) {
      for (unsigned int k = 0; k < cubeSize; k++)
         i++;
      for (unsigned int k = 0; k < cubeSize; k++)
         cube.at(i++) = colorList.at(5);
      for (unsigned int k = 0; k < cubeSize; k++)
         i++;
      for (unsigned int k = 0; k < cubeSize; k++)
         i++;
   }
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
pushq %rax
testl %edx, %edx
je 0x83ea
movq (%rsi), %r9
movq 0x8(%rsi), %r10
leal (%rdx,%rdx,2), %r11d
movl %edx, %ebx
negl %ebx
xorl %ebp, %ebp
xorl %r14d, %r14d
cmpq %r9, %r10
je 0x857c
movq (%rdi), %r8
movq 0x8(%rdi), %rax
subq %r8, %rax
leal (%r14,%rdx), %r12d
xorl %r15d, %r15d
movl %r12d, %ecx
cmpq %rcx, %rax
jbe 0x855c
leal 0x1(%rcx), %r12d
movb (%r9), %r13b
movb %r13b, (%r8,%rcx)
decl %r15d
cmpl %r15d, %ebx
jne 0x83b4
incl %ebp
movl %r14d, %r8d
addl %r11d, %r8d
movl %r8d, %r14d
subl %r15d, %r14d
cmpl %edx, %ebp
jne 0x839a
subl %r15d, %r8d
jmp 0x83ed
xorl %r8d, %r8d
testl %edx, %edx
je 0x84f6
movq (%rsi), %r9
movq 0x8(%rsi), %rax
subq %r9, %rax
cmpq $0x2, %rax
jb 0x85c1
xorl %r10d, %r10d
movq (%rdi), %r11
movq 0x8(%rdi), %rax
subq %r11, %rax
xorl %ebx, %ebx
leal (%r8,%rbx), %ecx
cmpq %rcx, %rax
jbe 0x855c
movb 0x1(%r9), %bpl
movb %bpl, (%r11,%rcx)
incl %ebx
cmpl %ebx, %edx
jne 0x8418
movq (%rsi), %r11
movq 0x8(%rsi), %rax
subq %r11, %rax
cmpq $0x3, %rax
jb 0x8597
movq (%rdi), %r14
movq 0x8(%rdi), %rax
subq %r14, %rax
addl %ebx, %r8d
movl %edx, %ebx
movl %r8d, %ecx
cmpq %rcx, %rax
jbe 0x855c
leal 0x1(%rcx), %r8d
movb 0x2(%r11), %bpl
movb %bpl, (%r14,%rcx)
decl %ebx
jne 0x8456
movq (%rsi), %r11
movq 0x8(%rsi), %rax
subq %r11, %rax
cmpq $0x4, %rax
jb 0x85a5
movq (%rdi), %rbx
movq 0x8(%rdi), %rax
subq %rbx, %rax
movl %edx, %ebp
movl %r8d, %ecx
cmpq %rcx, %rax
jbe 0x855c
leal 0x1(%rcx), %r8d
movb 0x3(%r11), %r14b
movb %r14b, (%rbx,%rcx)
decl %ebp
jne 0x8492
movq (%rsi), %r11
movq 0x8(%rsi), %rax
subq %r11, %rax
cmpq $0x5, %rax
jb 0x85b3
movq (%rdi), %rbx
movq 0x8(%rdi), %rax
subq %rbx, %rax
movl %edx, %ebp
movl %r8d, %ecx
cmpq %rcx, %rax
jbe 0x855c
leal 0x1(%rcx), %r8d
movb 0x4(%r11), %r14b
movb %r14b, (%rbx,%rcx)
decl %ebp
jne 0x84ce
incl %r10d
cmpl %edx, %r10d
jne 0x840c
testl %edx, %edx
je 0x854d
movq (%rsi), %r9
movq 0x8(%rsi), %rax
subq %r9, %rax
leal (%rdx,%rdx,2), %r10d
movl %edx, %r11d
negl %r11d
xorl %ebx, %ebx
cmpq $0x5, %rax
jbe 0x8589
movq (%rdi), %r14
movq 0x8(%rdi), %rcx
subq %r14, %rcx
leal (%r8,%rdx), %r15d
xorl %ebp, %ebp
movl %r15d, %esi
cmpq %rsi, %rcx
jbe 0x8570
leal 0x1(%rsi), %r15d
movb 0x5(%r9), %r12b
movb %r12b, (%r14,%rsi)
decl %ebp
cmpl %ebp, %r11d
jne 0x8526
incl %ebx
addl %r10d, %r8d
subl %ebp, %r8d
cmpl %edx, %ebx
jne 0x8510
addq $0x8, %rsp
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
retq
leaq 0xca7(%rip), %rdi       # 0x920a
movq %rcx, %rsi
movq %rax, %rdx
xorl %eax, %eax
callq 0x1160
leaq 0xc93(%rip), %rdi       # 0x920a
movq %rcx, %rdx
jmp 0x8569
leaq 0xc87(%rip), %rdi       # 0x920a
xorl %esi, %esi
xorl %edx, %edx
jmp 0x8569
leaq 0xc7a(%rip), %rdi       # 0x920a
movl $0x5, %esi
jmp 0x8566
leaq 0xc6c(%rip), %rdi       # 0x920a
movl $0x2, %esi
jmp 0x8566
leaq 0xc5e(%rip), %rdi       # 0x920a
movl $0x3, %esi
jmp 0x8566
leaq 0xc50(%rip), %rdi       # 0x920a
movl $0x4, %esi
jmp 0x8566
leaq 0xc42(%rip), %rdi       # 0x920a
movl $0x1, %esi
jmp 0x8566
nop