user: What would the C source look like for the assembly code provided here:

```asm
<constellationOut>:
  endbr64
  lea    D16(%rip),%rdx
  add    $0x4,%rdi
  lea    0x31(%rdx),%rsi
  jmp    L340
L175:
  cmpl   $0xffffffff,(%rdi)
  je     L187
  cmpl   $0xfffffffd,(%rdi)
  je     L87
  mov    (%rdi),%eax
  cmp    $0x1,%eax
  je     L332
  cmp    $0x3,%eax
  jne    L211
  movb   $0xc,(%rdx)
  jmp    L211
L187:
  movb   $0x0,(%rdx)
L211:
  add    $0x1,%rdx
  add    $0x8,%rdi
  cmp    %rsi,%rdx
  je     L147
L340:
  mov    -0x4(%rdi),%eax
  cmp    $0x1,%eax
  je     L175
  cmp    $0xffffffff,%eax
  je     L180
  cmp    $0x3,%eax
  je     L193
  cmp    $0xfffffffd,%eax
  jne    L211
  mov    (%rdi),%eax
  cmp    $0xfffffffd,%eax
  je     L289
  cmp    $0xffffffff,%eax
  je     L164
  cmpl   $0x3,(%rdi)
  je     L54
  cmpl   $0x1,(%rdi)
  jne    L211
  movb   $0xf,(%rdx)
  jmp    L211
L180:
  cmpl   $0xffffffff,(%rdi)
  je     L317
  cmpl   $0xfffffffd,(%rdi)
  je     L196
  cmpl   $0x1,(%rdi)
  je     L116
  cmpl   $0x3,(%rdi)
  jne    L211
  movb   $0xd,(%rdx)
  jmp    L211
L317:
  movb   $0x1,(%rdx)
  jmp    L211
L193:
  cmpl   $0xfffffffd,(%rdi)
  je     L334
  cmpl   $0xffffffff,(%rdi)
  je     L35
  cmpl   $0x3,(%rdi)
  je     L224
  cmpl   $0x1,(%rdi)
  jne    L211
  movb   $0xe,(%rdx)
  jmp    L211
L334:
  movb   $0x2,(%rdx)
  jmp    L211
L289:
  movb   $0x3,(%rdx)
  jmp    L211
L164:
  movb   $0x4,(%rdx)
  jmp    L211
L35:
  movb   $0x5,(%rdx)
  jmp    L211
L196:
  movb   $0x6,(%rdx)
  jmp    L211
L87:
  movb   $0x7,(%rdx)
  jmp    L211
L54:
  movb   $0x8,(%rdx)
  jmp    L211
L224:
  movb   $0x9,(%rdx)
  jmp    L211
L116:
  movb   $0xa,(%rdx)
  jmp    L211
L332:
  movb   $0xb,(%rdx)
  jmp    L211
L147:
  lea    D16(%rip),%rax
  ret
```

assistant: ```c
char *constellationOut(int *encDibit) {
  static char constellationPoints[49];
  int a, index = 0;
  for (a = 0; a < 98; a = a + 2) {
    if ((*(encDibit + a) == +1) && (*(encDibit + a + 1) == -1))
      constellationPoints[index] = 0;
    else if ((*(encDibit + a) == -1) && (*(encDibit + a + 1) == -1))
      constellationPoints[index] = 1;
    else if ((*(encDibit + a) == +3) && (*(encDibit + a + 1) == -3))
      constellationPoints[index] = 2;
    else if ((*(encDibit + a) == -3) && (*(encDibit + a + 1) == -3))
      constellationPoints[index] = 3;
    else if ((*(encDibit + a) == -3) && (*(encDibit + a + 1) == -1))
      constellationPoints[index] = 4;
    else if ((*(encDibit + a) == +3) && (*(encDibit + a + 1) == -1))
      constellationPoints[index] = 5;
    else if ((*(encDibit + a) == -1) && (*(encDibit + a + 1) == -3))
      constellationPoints[index] = 6;
    else if ((*(encDibit + a) == +1) && (*(encDibit + a + 1) == -3))
      constellationPoints[index] = 7;
    else if ((*(encDibit + a) == -3) && (*(encDibit + a + 1) == +3))
      constellationPoints[index] = 8;
    else if ((*(encDibit + a) == +3) && (*(encDibit + a + 1) == +3))
      constellationPoints[index] = 9;
    else if ((*(encDibit + a) == -1) && (*(encDibit + a + 1) == +1))
      constellationPoints[index] = 10;
    else if ((*(encDibit + a) == +1) && (*(encDibit + a + 1) == +1))
      constellationPoints[index] = 11;
    else if ((*(encDibit + a) == +1) && (*(encDibit + a + 1) == +3))
      constellationPoints[index] = 12;
    else if ((*(encDibit + a) == -1) && (*(encDibit + a + 1) == +3))
      constellationPoints[index] = 13;
    else if ((*(encDibit + a) == +3) && (*(encDibit + a + 1) == +1))
      constellationPoints[index] = 14;
    else if ((*(encDibit + a) == -3) && (*(encDibit + a + 1) == +1))
      constellationPoints[index] = 15;
    index++;
  }
  return constellationPoints;
}
```