// File: /workspace/github_cpp_makefile_star2_O1/chuckwolber[P]Cube/test/../Cube.cpp
// Function: Cube::initializeLayers()
void Cube::initializeLayers() {
    switch (fInitColor) {
        case CubieColor::BLUE:
            uInitColor = CubieColor::WHITE;
            lInitColor = CubieColor::RED;
            rInitColor = CubieColor::ORANGE;
            bInitColor = CubieColor::GREEN;
            dInitColor = CubieColor::YELLOW;
            break;
        case CubieColor::GREEN:
            uInitColor = CubieColor::WHITE;
            lInitColor = CubieColor::ORANGE;
            rInitColor = CubieColor::RED;
            bInitColor = CubieColor::BLUE;
            dInitColor = CubieColor::YELLOW;
            break;
        case CubieColor::ORANGE:
            uInitColor = CubieColor::WHITE;
            lInitColor = CubieColor::BLUE;
            rInitColor = CubieColor::GREEN;
            bInitColor = CubieColor::RED;
            dInitColor = CubieColor::YELLOW;
            break;
        case CubieColor::RED:
            uInitColor = CubieColor::WHITE;
            lInitColor = CubieColor::GREEN;
            rInitColor = CubieColor::BLUE;
            bInitColor = CubieColor::ORANGE;
            dInitColor = CubieColor::YELLOW;
            break;
        case CubieColor::WHITE:
            uInitColor = CubieColor::GREEN;
            lInitColor = CubieColor::RED;
            rInitColor = CubieColor::ORANGE;
            bInitColor = CubieColor::YELLOW;
            dInitColor = CubieColor::BLUE;
            break;
        case CubieColor::YELLOW:
            uInitColor = CubieColor::GREEN;
            lInitColor = CubieColor::ORANGE;
            rInitColor = CubieColor::RED;
            bInitColor = CubieColor::WHITE;
            dInitColor = CubieColor::BLUE;
            break;
        default:
            break;
    }

    initializeLayer(Layer::U, uInitColor);
    initializeLayer(Layer::L, lInitColor);
    initializeLayer(Layer::F, fInitColor);
    initializeLayer(Layer::R, rInitColor);
    initializeLayer(Layer::B, bInitColor);
    initializeLayer(Layer::D, dInitColor);
}

// Assembly:
pushq %rbx
movq %rdi, %rbx
movzbl (%rdi), %edi
movb $0x79, %al
movb $0x6f, %dl
movb $0x72, %sil
movb $0x77, %cl
cmpl $0x71, %edi
jg 0x4552
cmpl $0x62, %edi
je 0x456d
cmpl $0x67, %edi
je 0x457c
cmpl $0x6f, %edi
jne 0x459e
movb $0x72, %dil
movb $0x67, %dl
movb $0x62, %sil
jmp 0x458d
cmpl $0x72, %edi
je 0x4572
cmpl $0x77, %edi
je 0x4586
cmpl $0x79, %edi
jne 0x459e
movb $0x62, %al
movb $0x77, %dil
movb $0x72, %dl
movb $0x6f, %sil
jmp 0x458b
movb $0x67, %dil
jmp 0x458d
movb $0x6f, %dil
movb $0x62, %dl
movb $0x67, %sil
jmp 0x458d
movb $0x62, %dil
movb $0x72, %dl
movb $0x6f, %sil
jmp 0x458d
movb $0x62, %al
movb $0x79, %dil
movb $0x67, %cl
movb %cl, 0x1(%rbx)
movb %sil, 0x3(%rbx)
movb %dl, 0x4(%rbx)
movb %dil, 0x5(%rbx)
movb %al, 0x2(%rbx)
movsbl 0x1(%rbx), %edx
movq %rbx, %rdi
movl $0x1, %esi
callq 0x464e
movsbl 0x3(%rbx), %edx
movq %rbx, %rdi
movl $0x4, %esi
callq 0x464e
movsbl (%rbx), %edx
movq %rbx, %rdi
movl $0x5, %esi
callq 0x464e
movsbl 0x4(%rbx), %edx
movq %rbx, %rdi
movl $0x6, %esi
callq 0x464e
movsbl 0x5(%rbx), %edx
movq %rbx, %rdi
movl $0x7, %esi
callq 0x464e
movsbl 0x2(%rbx), %edx
movq %rbx, %rdi
movl $0x9, %esi
popq %rbx
jmp 0x464e