// File: /workspace/github_c_makefile_star2_O2/k0n10pl4tr[P]minimal_crafter/rendering.c
// Function: generateFace
void
generateFace(BlockFaceDirection face, unsigned int blockId, float *vertexData, float *texcoordData, int xb, int yb, int zb)
{
	switch(face) {
	case BLOCK_LEFT:
	vertexData[0]  =  0 + xb; vertexData[1]  =  0 + yb; vertexData[2]  =  0 + zb;
	vertexData[3]  =  0 + xb; vertexData[4]  =  0 + yb; vertexData[5]  =  1 + zb;
	vertexData[6]  =  0 + xb; vertexData[7]  =  1 + yb; vertexData[8]  =  1 + zb;
	vertexData[9]  =  0 + xb; vertexData[10] =  1 + yb; vertexData[11] =  1 + zb;
	vertexData[12] =  0 + xb; vertexData[13] =  1 + yb; vertexData[14] =  0 + zb;
	vertexData[15] =  0 + xb; vertexData[16] =  0 + yb; vertexData[17] =  0 + zb;
	break;
	case BLOCK_BOTTOM:
	vertexData[0]  =  0 + xb; vertexData[1]  =  0 + yb; vertexData[2]  =  0 + zb;
	vertexData[3]  =  1 + xb; vertexData[4]  =  0 + yb; vertexData[5]  =  0 + zb;
	vertexData[6]  =  1 + xb; vertexData[7]  =  0 + yb; vertexData[8]  =  1 + zb;
	vertexData[9]  =  1 + xb; vertexData[10] =  0 + yb; vertexData[11] =  1 + zb;
	vertexData[12] =  0 + xb; vertexData[13] =  0 + yb; vertexData[14] =  1 + zb;
	vertexData[15] =  0 + xb; vertexData[16] =  0 + yb; vertexData[17] =  0 + zb;
	break;
	case BLOCK_RIGHT:
	vertexData[0]  =  1 + xb; vertexData[1]  =  0 + yb; vertexData[2]  =  1 + zb;
	vertexData[3]  =  1 + xb; vertexData[4]  =  0 + yb; vertexData[5]  =  0 + zb;
	vertexData[6]  =  1 + xb; vertexData[7]  =  1 + yb; vertexData[8]  =  0 + zb;
	vertexData[9]  =  1 + xb; vertexData[10] =  1 + yb; vertexData[11] =  0 + zb;
	vertexData[12] =  1 + xb; vertexData[13] =  1 + yb; vertexData[14] =  1 + zb;
	vertexData[15] =  1 + xb; vertexData[16] =  0 + yb; vertexData[17] =  1 + zb;
	break;
	case BLOCK_TOP:
	vertexData[0]  =  0 + xb; vertexData[1]  =  1 + yb; vertexData[2]  =  0 + zb;
	vertexData[3]  =  0 + xb; vertexData[4]  =  1 + yb; vertexData[5]  =  1 + zb;
	vertexData[6]  =  1 + xb; vertexData[7]  =  1 + yb; vertexData[8]  =  1 + zb;
	vertexData[9]  =  1 + xb; vertexData[10] =  1 + yb; vertexData[11] =  1 + zb;
	vertexData[12] =  1 + xb; vertexData[13] =  1 + yb; vertexData[14] =  0 + zb;
	vertexData[15] =  0 + xb; vertexData[16] =  1 + yb; vertexData[17] =  0 + zb;
	break;	
	case BLOCK_FRONT:
	vertexData[0]  =  0 + xb; vertexData[1]  =  0 + yb; vertexData[2]  =  1 + zb;
	vertexData[3]  =  1 + xb; vertexData[4]  =  0 + yb; vertexData[5]  =  1 + zb;
	vertexData[6]  =  1 + xb; vertexData[7]  =  1 + yb; vertexData[8]  =  1 + zb;
	vertexData[9]  =  1 + xb; vertexData[10] =  1 + yb; vertexData[11] =  1 + zb;
	vertexData[12] =  0 + xb; vertexData[13] =  1 + yb; vertexData[14] =  1 + zb;
	vertexData[15] =  0 + xb; vertexData[16] =  0 + yb; vertexData[17] =  1 + zb;
	break;
	case BLOCK_BACK:
	vertexData[0]  =  1 + xb; vertexData[1]  =  0 + yb; vertexData[2]  =  0 + zb;
	vertexData[3]  =  0 + xb; vertexData[4]  =  0 + yb; vertexData[5]  =  0 + zb;
	vertexData[6]  =  0 + xb; vertexData[7]  =  1 + yb; vertexData[8]  =  0 + zb;
	vertexData[9]  =  0 + xb; vertexData[10] =  1 + yb; vertexData[11] =  0 + zb;
	vertexData[12] =  1 + xb; vertexData[13] =  1 + yb; vertexData[14] =  0 + zb;
	vertexData[15] =  1 + xb; vertexData[16] =  0 + yb; vertexData[17] =  0 + zb;
	break;
	}
	memcpy(texcoordData, BLOCKS[blockId - 1].texcoords[face], sizeof(TexcoordFace));
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
movl %edi, %eax
cmpl $0x5, %edi
ja 0x5864
movl 0x10(%rbp), %edi
leaq 0x35b3(%rip), %r10      # 0x8c50
movslq (%r10,%rax,4), %r11
addq %r10, %r11
jmpq *%r11
cvtsi2ss %r8d, %xmm6
movss %xmm6, (%rdx)
incl %r9d
cvtsi2ss %r9d, %xmm4
movss %xmm4, 0x4(%rdx)
cvtsi2ss %edi, %xmm5
movss %xmm5, 0x8(%rdx)
incl %edi
cvtsi2ss %edi, %xmm2
movss %xmm6, 0xc(%rdx)
movss %xmm4, 0x10(%rdx)
movss %xmm2, 0x14(%rdx)
incl %r8d
cvtsi2ss %r8d, %xmm0
movss %xmm0, 0x18(%rdx)
movss %xmm4, 0x1c(%rdx)
movaps %xmm0, %xmm3
movaps %xmm4, %xmm1
jmp 0x578d
cvtsi2ss %r8d, %xmm3
cvtsi2ss %r9d, %xmm1
movss %xmm3, (%rdx)
movss %xmm1, 0x4(%rdx)
incl %edi
cvtsi2ss %edi, %xmm2
movss %xmm2, 0x8(%rdx)
incl %r8d
jmp 0x5803
cvtsi2ss %r8d, %xmm0
movss %xmm0, (%rdx)
cvtsi2ss %r9d, %xmm1
movss %xmm1, 0x4(%rdx)
cvtsi2ss %edi, %xmm5
movss %xmm5, 0x8(%rdx)
incl %edi
jmp 0x5762
incl %r8d
cvtsi2ss %r8d, %xmm0
movss %xmm0, (%rdx)
cvtsi2ss %r9d, %xmm1
movss %xmm1, 0x4(%rdx)
leal 0x1(%rdi), %r8d
cvtsi2ss %r8d, %xmm5
movss %xmm5, 0x8(%rdx)
cvtsi2ss %edi, %xmm2
movss %xmm0, 0xc(%rdx)
movss %xmm1, 0x10(%rdx)
movss %xmm2, 0x14(%rdx)
movss %xmm0, 0x18(%rdx)
incl %r9d
cvtsi2ss %r9d, %xmm4
movss %xmm4, 0x1c(%rdx)
movaps %xmm0, %xmm3
movaps %xmm0, %xmm6
movaps %xmm5, %xmm7
jmp 0x5832
cvtsi2ss %r8d, %xmm3
movss %xmm3, (%rdx)
cvtsi2ss %r9d, %xmm4
movss %xmm4, 0x4(%rdx)
cvtsi2ss %edi, %xmm7
movss %xmm7, 0x8(%rdx)
incl %r8d
cvtsi2ss %r8d, %xmm0
movss %xmm0, 0xc(%rdx)
movss %xmm4, 0x10(%rdx)
movss %xmm7, 0x14(%rdx)
movss %xmm0, 0x18(%rdx)
incl %edi
cvtsi2ss %edi, %xmm2
movss %xmm4, 0x1c(%rdx)
movaps %xmm2, %xmm5
movaps %xmm3, %xmm6
movaps %xmm4, %xmm1
jmp 0x5832
leal 0x1(%r8), %r10d
cvtsi2ss %r10d, %xmm3
movss %xmm3, (%rdx)
cvtsi2ss %r9d, %xmm1
movss %xmm1, 0x4(%rdx)
cvtsi2ss %edi, %xmm2
movss %xmm2, 0x8(%rdx)
cvtsi2ss %r8d, %xmm0
movss %xmm0, 0xc(%rdx)
movss %xmm1, 0x10(%rdx)
movss %xmm2, 0x14(%rdx)
movss %xmm0, 0x18(%rdx)
incl %r9d
cvtsi2ss %r9d, %xmm4
movss %xmm4, 0x1c(%rdx)
movaps %xmm2, %xmm5
movaps %xmm3, %xmm6
movaps %xmm2, %xmm7
movss %xmm2, 0x20(%rdx)
movss %xmm0, 0x24(%rdx)
movss %xmm4, 0x28(%rdx)
movss %xmm2, 0x2c(%rdx)
movss %xmm3, 0x30(%rdx)
movss %xmm4, 0x34(%rdx)
movss %xmm5, 0x38(%rdx)
movss %xmm6, 0x3c(%rdx)
movss %xmm1, 0x40(%rdx)
movss %xmm7, 0x44(%rdx)
decl %esi
imulq $0x30, %rax, %rax
imulq $0x128, %rsi, %rdx      # imm = 0x128
addq 0x5768(%rip), %rdx      # 0xafe0
movups 0x8(%rax,%rdx), %xmm0
movups 0x18(%rax,%rdx), %xmm1
movups 0x28(%rax,%rdx), %xmm2
movups %xmm2, 0x20(%rcx)
movups %xmm1, 0x10(%rcx)
movups %xmm0, (%rcx)
popq %rbp
retq