user: 请将以下的汇编代码转换成C语言代码:

```asm
<gambarLedakan>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xa0,%rsp
  mov    %edi,-0x94(%rbp)
  mov    %esi,-0x98(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0x94(%rbp),%eax
  mov    %eax,-0x90(%rbp)
  mov    -0x90(%rbp),%eax
  sub    $0xf,%eax
  mov    %eax,-0x8c(%rbp)
  mov    -0x8c(%rbp),%eax
  sub    $0x2d,%eax
  mov    %eax,-0x88(%rbp)
  mov    -0x88(%rbp),%eax
  add    $0x1e,%eax
  mov    %eax,-0x84(%rbp)
  mov    -0x84(%rbp),%eax
  sub    $0x46,%eax
  mov    %eax,-0x80(%rbp)
  mov    -0x80(%rbp),%eax
  add    $0x46,%eax
  mov    %eax,-0x7c(%rbp)
  mov    -0x7c(%rbp),%eax
  sub    $0x1e,%eax
  mov    %eax,-0x78(%rbp)
  mov    -0x78(%rbp),%eax
  add    $0x2d,%eax
  mov    %eax,-0x74(%rbp)
  mov    -0x74(%rbp),%eax
  add    $0xf,%eax
  mov    %eax,-0x70(%rbp)
  mov    -0x70(%rbp),%eax
  add    $0xf,%eax
  mov    %eax,-0x6c(%rbp)
  mov    -0x6c(%rbp),%eax
  add    $0x2d,%eax
  mov    %eax,-0x68(%rbp)
  mov    -0x68(%rbp),%eax
  sub    $0x1e,%eax
  mov    %eax,-0x64(%rbp)
  mov    -0x64(%rbp),%eax
  add    $0x46,%eax
  mov    %eax,-0x60(%rbp)
  mov    -0x60(%rbp),%eax
  sub    $0x46,%eax
  mov    %eax,-0x5c(%rbp)
  mov    -0x5c(%rbp),%eax
  add    $0x1e,%eax
  mov    %eax,-0x58(%rbp)
  mov    -0x58(%rbp),%eax
  sub    $0x2d,%eax
  mov    %eax,-0x54(%rbp)
  mov    -0x98(%rbp),%eax
  mov    %eax,-0x50(%rbp)
  mov    -0x50(%rbp),%eax
  add    $0x46,%eax
  mov    %eax,-0x4c(%rbp)
  mov    -0x4c(%rbp),%eax
  sub    $0x23,%eax
  mov    %eax,-0x48(%rbp)
  mov    -0x48(%rbp),%eax
  add    $0x32,%eax
  mov    %eax,-0x44(%rbp)
  mov    -0x44(%rbp),%eax
  add    $0xf,%eax
  mov    %eax,-0x40(%rbp)
  mov    -0x40(%rbp),%eax
  add    $0xf,%eax
  mov    %eax,-0x3c(%rbp)
  mov    -0x3c(%rbp),%eax
  add    $0x32,%eax
  mov    %eax,-0x38(%rbp)
  mov    -0x38(%rbp),%eax
  sub    $0x23,%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x34(%rbp),%eax
  add    $0x46,%eax
  mov    %eax,-0x30(%rbp)
  mov    -0x30(%rbp),%eax
  sub    $0x46,%eax
  mov    %eax,-0x2c(%rbp)
  mov    -0x2c(%rbp),%eax
  add    $0x23,%eax
  mov    %eax,-0x28(%rbp)
  mov    -0x28(%rbp),%eax
  sub    $0x32,%eax
  mov    %eax,-0x24(%rbp)
  mov    -0x24(%rbp),%eax
  sub    $0xf,%eax
  mov    %eax,-0x20(%rbp)
  mov    -0x20(%rbp),%eax
  sub    $0xf,%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x1c(%rbp),%eax
  sub    $0x32,%eax
  mov    %eax,-0x18(%rbp)
  mov    -0x18(%rbp),%eax
  add    $0x23,%eax
  mov    %eax,-0x14(%rbp)
  mov    -0x4c(%rbp),%ecx
  mov    -0x8c(%rbp),%edx
  mov    -0x50(%rbp),%esi
  mov    -0x90(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x48(%rbp),%ecx
  mov    -0x88(%rbp),%edx
  mov    -0x4c(%rbp),%esi
  mov    -0x8c(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x44(%rbp),%ecx
  mov    -0x84(%rbp),%edx
  mov    -0x48(%rbp),%esi
  mov    -0x88(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x40(%rbp),%ecx
  mov    -0x80(%rbp),%edx
  mov    -0x44(%rbp),%esi
  mov    -0x84(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x3c(%rbp),%ecx
  mov    -0x7c(%rbp),%edx
  mov    -0x40(%rbp),%esi
  mov    -0x80(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x38(%rbp),%ecx
  mov    -0x78(%rbp),%edx
  mov    -0x3c(%rbp),%esi
  mov    -0x7c(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x34(%rbp),%ecx
  mov    -0x74(%rbp),%edx
  mov    -0x38(%rbp),%esi
  mov    -0x78(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x30(%rbp),%ecx
  mov    -0x70(%rbp),%edx
  mov    -0x34(%rbp),%esi
  mov    -0x74(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x2c(%rbp),%ecx
  mov    -0x6c(%rbp),%edx
  mov    -0x30(%rbp),%esi
  mov    -0x70(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x28(%rbp),%ecx
  mov    -0x68(%rbp),%edx
  mov    -0x2c(%rbp),%esi
  mov    -0x6c(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x24(%rbp),%ecx
  mov    -0x64(%rbp),%edx
  mov    -0x28(%rbp),%esi
  mov    -0x68(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x20(%rbp),%ecx
  mov    -0x60(%rbp),%edx
  mov    -0x24(%rbp),%esi
  mov    -0x64(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x1c(%rbp),%ecx
  mov    -0x5c(%rbp),%edx
  mov    -0x20(%rbp),%esi
  mov    -0x60(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x18(%rbp),%ecx
  mov    -0x58(%rbp),%edx
  mov    -0x1c(%rbp),%esi
  mov    -0x5c(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x14(%rbp),%ecx
  mov    -0x54(%rbp),%edx
  mov    -0x18(%rbp),%esi
  mov    -0x58(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  mov    -0x50(%rbp),%ecx
  mov    -0x90(%rbp),%edx
  mov    -0x14(%rbp),%esi
  mov    -0x54(%rbp),%eax
  mov    %eax,%edi
  call   <plotLine@plt>
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L1
  call   <__stack_chk_fail@plt>
L1:
  leave
  ret
```

assistant: ```c
void gambarLedakan(int posX, int posY) {
  int X[16];
  int Y[16];
  X[0] = posX;
  X[1] = X[0] - 15;
  X[2] = X[1] - 45;
  X[3] = X[2] + 30;
  X[4] = X[3] - 70;
  X[5] = X[4] + 70;
  X[6] = X[5] - 30;
  X[7] = X[6] + 45;
  X[8] = X[7] + 15;
  X[9] = X[8] + 15;
  X[10] = X[9] + 45;
  X[11] = X[10] - 30;
  X[12] = X[11] + 70;
  X[13] = X[12] - 70;
  X[14] = X[13] + 30;
  X[15] = X[14] - 45;
  Y[0] = posY;
  Y[1] = Y[0] + 70;
  Y[2] = Y[1] - 35;
  Y[3] = Y[2] + 50;
  Y[4] = Y[3] + 15;
  Y[5] = Y[4] + 15;
  Y[6] = Y[5] + 50;
  Y[7] = Y[6] - 35;
  Y[8] = Y[7] + 70;
  Y[9] = Y[8] - 70;
  Y[10] = Y[9] + 35;
  Y[11] = Y[10] - 50;
  Y[12] = Y[11] - 15;
  Y[13] = Y[12] - 15;
  Y[14] = Y[13] - 50;
  Y[15] = Y[14] + 35;
  plotLine(X[0], Y[0], X[1], Y[1]);
  plotLine(X[1], Y[1], X[2], Y[2]);
  plotLine(X[2], Y[2], X[3], Y[3]);
  plotLine(X[3], Y[3], X[4], Y[4]);
  plotLine(X[4], Y[4], X[5], Y[5]);
  plotLine(X[5], Y[5], X[6], Y[6]);
  plotLine(X[6], Y[6], X[7], Y[7]);
  plotLine(X[7], Y[7], X[8], Y[8]);
  plotLine(X[8], Y[8], X[9], Y[9]);
  plotLine(X[9], Y[9], X[10], Y[10]);
  plotLine(X[10], Y[10], X[11], Y[11]);
  plotLine(X[11], Y[11], X[12], Y[12]);
  plotLine(X[12], Y[12], X[13], Y[13]);
  plotLine(X[13], Y[13], X[14], Y[14]);
  plotLine(X[14], Y[14], X[15], Y[15]);
  plotLine(X[15], Y[15], X[0], Y[0]);
}
```