user: What is the c source code of the assembly code below:

```asm
<drawGifts>:
  endbr64
  sub    $0x8,%rsp
  movsd  D194(%rip),%xmm2
  movsd  D19(%rip),%xmm1
  mov    D208(%rip),%rax
  movq   %rax,%xmm0
  call   <glColor3d@plt>
  mov    $0x0,%eax
  call   <glPushMatrix@plt>
  mov    $0xfffffffb,%edi
  movsd  D130(%rip),%xmm1
  movsd  D113(%rip),%xmm0
  call   <glTranslated@plt>
  mov    D246(%rip),%rax
  movq   %rax,%xmm2
  pxor   %xmm1,%xmm1
  mov    D241(%rip),%rax
  movq   %rax,%xmm0
  mov    $0x41,%edi
  call   <glRotated@plt>
  mov    D240(%rip),%rax
  movq   %rax,%xmm0
  call   <glutSolidCube@plt>
  mov    $0x0,%eax
  call   <glPopMatrix@plt>
  movsd  D281(%rip),%xmm2
  movsd  D179(%rip),%xmm1
  mov    D22(%rip),%rax
  movq   %rax,%xmm0
  call   <glColor3d@plt>
  mov    $0x0,%eax
  call   <glPushMatrix@plt>
  mov    $0xfffffffb,%edi
  movsd  D54(%rip),%xmm1
  movsd  D42(%rip),%xmm0
  call   <glTranslated@plt>
  mov    D223(%rip),%rax
  movq   %rax,%xmm2
  pxor   %xmm1,%xmm1
  mov    D241(%rip),%rax
  movq   %rax,%xmm0
  mov    $0x41,%edi
  call   <glRotated@plt>
  mov    D240(%rip),%rax
  movq   %rax,%xmm0
  call   <glutSolidCube@plt>
  mov    $0x0,%eax
  call   <glPopMatrix@plt>
  movsd  D272(%rip),%xmm2
  movsd  D121(%rip),%xmm1
  mov    D22(%rip),%rax
  movq   %rax,%xmm0
  call   <glColor3d@plt>
  mov    $0x0,%eax
  call   <glPushMatrix@plt>
  mov    $0xfffffffb,%edi
  movsd  D92(%rip),%xmm1
  pxor   %xmm0,%xmm0
  call   <glTranslated@plt>
  mov    D223(%rip),%rax
  movq   %rax,%xmm2
  pxor   %xmm1,%xmm1
  mov    D241(%rip),%rax
  movq   %rax,%xmm0
  mov    $0x41,%edi
  call   <glRotated@plt>
  mov    D240(%rip),%rax
  movq   %rax,%xmm0
  call   <glutSolidCube@plt>
  mov    $0x0,%eax
  call   <glPopMatrix@plt>
  pxor   %xmm2,%xmm2
  movapd %xmm2,%xmm1
  mov    D208(%rip),%rax
  movq   %rax,%xmm0
  call   <glColor3d@plt>
  mov    $0x0,%eax
  call   <glPushMatrix@plt>
  mov    $0xfffffffb,%edi
  movsd  D280(%rip),%xmm1
  movsd  D199(%rip),%xmm0
  call   <glTranslated@plt>
  mov    D246(%rip),%rax
  movq   %rax,%xmm2
  pxor   %xmm1,%xmm1
  mov    D241(%rip),%rax
  movq   %rax,%xmm0
  mov    $0x41,%edi
  call   <glRotated@plt>
  mov    D240(%rip),%rax
  movq   %rax,%xmm0
  call   <glutSolidCube@plt>
  mov    $0x0,%eax
  call   <glPopMatrix@plt>
  add    $0x8,%rsp
  ret
```

tool_calls: name: disassemble_data
arguments: data_label: D194
datatype: f64
name: disassemble_data
arguments: data_label: D19
datatype: f64
name: disassemble_data
arguments: data_label: D208
datatype: f64
name: disassemble_data
arguments: data_label: D130
datatype: f64
name: disassemble_data
arguments: data_label: D113
datatype: byte[8]
name: disassemble_data
arguments: data_label: D246
datatype: f64
name: disassemble_data
arguments: data_label: D241
datatype: f32[2]
name: disassemble_data
arguments: data_label: D240
datatype: f64
name: disassemble_data
arguments: data_label: D281
datatype: f64
name: disassemble_data
arguments: data_label: D179
datatype: f64
name: disassemble_data
arguments: data_label: D22
datatype: f64
name: disassemble_data
arguments: data_label: D54
datatype: f64
name: disassemble_data
arguments: data_label: D42
datatype: f64
name: disassemble_data
arguments: data_label: D223
datatype: f64
name: disassemble_data
arguments: data_label: D272
datatype: f64
name: disassemble_data
arguments: data_label: D121
datatype: f64
name: disassemble_data
arguments: data_label: D92
datatype: f64
name: disassemble_data
arguments: data_label: D280
datatype: f64
name: disassemble_data
arguments: data_label: D199
datatype: f64

tool: D194: 0.11

tool: D19: 0.39

tool: D208: 0.99

tool: D130: 0.55

tool: {"D113": [0x33,0x33,0x33,0x33,0x33,0x33,0xd3,0xbf]}

tool: D246: 0.8

tool: {"D241": [0.0,-1.875]}

tool: D240: 0.2

tool: D281: 0.33

tool: D179: 0.7

tool: D22: 0.05

tool: D54: 0.95

tool: D42: 0.3

tool: D223: 0.5

tool: D272: 0.87

tool: D121: 0.06

tool: D92: 1.6

tool: D280: 0.25

tool: D199: 0.4

assistant: ```c
void drawGifts() {
  glColor3d(0.99, 0.39, 0.11);
  glPushMatrix();
  glTranslated(-0.3, 0.55, -5);
  glRotated(65, -1.0, 0.0, 0.8);
  glutSolidCube(0.2);
  glPopMatrix();
  glColor3d(0.05, 0.70, 0.33);
  glPushMatrix();
  glTranslated(0.3, 0.95, -5);
  glRotated(65, -1.0, 0.0, 0.5);
  glutSolidCube(0.2);
  glPopMatrix();
  glColor3d(0.05, 0.06, 0.87);
  glPushMatrix();
  glTranslated(0, 1.6, -5);
  glRotated(65, -1.0, 0.0, 0.5);
  glutSolidCube(0.2);
  glPopMatrix();
  glColor3d(0.99, 0, 0);
  glPushMatrix();
  glTranslated(0.4, 0.25, -5);
  glRotated(65, -1.0, 0.0, 0.8);
  glutSolidCube(0.2);
  glPopMatrix();
}
```