user: Please show me the C implementation that matches the assembly code listed below:

```asm
<Calc_3dTransAxisPntn>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xc0,%rsp
  mov    %rdi,-0x88(%rbp)
  mov    %rsi,-0x90(%rbp)
  mov    %rdx,-0x98(%rbp)
  mov    %rcx,-0xa0(%rbp)
  mov    %r8d,-0xa4(%rbp)
  mov    %r9,-0xb0(%rbp)
  mov    0x10(%rbp),%rax
  mov    %rax,-0xb8(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  lea    -0x50(%rbp),%rdi
  mov    -0xa0(%rbp),%rcx
  mov    -0x98(%rbp),%rdx
  mov    -0x90(%rbp),%rsi
  mov    -0x88(%rbp),%rax
  mov    %rdi,%r8
  mov    %rax,%rdi
  call   <Calc_3dMat4TranAxis@plt>
  movl   $0x0,-0x74(%rbp)
  jmp    L11
L25:
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movss  (%rax),%xmm0
  movss  %xmm0,-0x70(%rbp)
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movss  0x4(%rax),%xmm0
  movss  %xmm0,-0x6c(%rbp)
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  add    %rdx,%rax
  movss  0x8(%rax),%xmm0
  movss  %xmm0,-0x68(%rbp)
  movss  D6(%rip),%xmm0
  movss  %xmm0,-0x64(%rbp)
  lea    -0x60(%rbp),%rdx
  lea    -0x50(%rbp),%rcx
  lea    -0x70(%rbp),%rax
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <Calc_3dMat4Multi14@plt>
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x60(%rbp),%xmm0
  movss  %xmm0,(%rax)
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x5c(%rbp),%xmm0
  movss  %xmm0,0x4(%rax)
  mov    -0x74(%rbp),%eax
  movslq %eax,%rdx
  mov    %rdx,%rax
  add    %rax,%rax
  add    %rdx,%rax
  shl    $0x2,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  add    %rdx,%rax
  movss  -0x58(%rbp),%xmm0
  movss  %xmm0,0x8(%rax)
  addl   $0x1,-0x74(%rbp)
L11:
  mov    -0x74(%rbp),%eax
  cmp    -0xa4(%rbp),%eax
  jl     L25
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L14
  call   <__stack_chk_fail@plt>
L14:
  leave
  ret
```

tool_calls: name: retrieve_data
arguments: label: D6
datatype: f32

tool: D6: 1

assistant: ```c
void Calc_3dTransAxisPntn(float orig[3], float x_axis[3], float y_axis[3], float z_axis[3], int n, float pntni[][3], float pntno[][3]) {
  float change_mat[4][4];
  int loop_cnt;
  float src_point[4];
  float dsp_point[4];
  Calc_3dMat4TranAxis(orig, x_axis, y_axis, z_axis, change_mat);
  for (loop_cnt = 0; loop_cnt < n; loop_cnt++) {
    src_point[0] = pntni[loop_cnt][0];
    src_point[1] = pntni[loop_cnt][1];
    src_point[2] = pntni[loop_cnt][2];
    src_point[3] = 1.0;
    Calc_3dMat4Multi14(src_point, change_mat, dsp_point);
    pntno[loop_cnt][0] = dsp_point[0];
    pntno[loop_cnt][1] = dsp_point[1];
    pntno[loop_cnt][2] = dsp_point[2];
  }
}
```