user: Converte this assembly snippet into its equivalent C code:

```asm
<main>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x290,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movb   $0x42,-0x281(%rbp)
  movb   $0xa,-0x280(%rbp)
  movw   $0x14,-0x278(%rbp)
  movw   $0x1e,-0x276(%rbp)
  movq   $0x28,-0x260(%rbp)
  movq   $0x32,-0x258(%rbp)
  movss  D44(%rip),%xmm0
  movss  %xmm0,-0x26c(%rbp)
  movsd  D58(%rip),%xmm0
  movsd  %xmm0,-0x250(%rbp)
  movb   $0x23,-0x279(%rbp)
  movb   $0x41,-0x27f(%rbp)
  movb   $0x1,-0x27e(%rbp)
  movw   $0x2,-0x274(%rbp)
  movw   $0x3,-0x272(%rbp)
  movq   $0x4,-0x248(%rbp)
  movq   $0x5,-0x240(%rbp)
  movss  D36(%rip),%xmm0
  movss  %xmm0,-0x268(%rbp)
  movsd  D35(%rip),%xmm0
  movsd  %xmm0,-0x238(%rbp)
  lea    -0x281(%rbp),%rax
  mov    %rax,-0x178(%rbp)
  lea    -0x280(%rbp),%rax
  mov    %rax,-0x170(%rbp)
  lea    -0x278(%rbp),%rax
  mov    %rax,-0x168(%rbp)
  lea    -0x276(%rbp),%rax
  mov    %rax,-0x160(%rbp)
  lea    -0x260(%rbp),%rax
  mov    %rax,-0x158(%rbp)
  lea    -0x258(%rbp),%rax
  mov    %rax,-0x150(%rbp)
  lea    -0x26c(%rbp),%rax
  mov    %rax,-0x148(%rbp)
  lea    -0x250(%rbp),%rax
  mov    %rax,-0x140(%rbp)
  lea    -0x27f(%rbp),%rax
  mov    %rax,-0x138(%rbp)
  lea    -0x27e(%rbp),%rax
  mov    %rax,-0x130(%rbp)
  lea    -0x274(%rbp),%rax
  mov    %rax,-0x128(%rbp)
  lea    -0x272(%rbp),%rax
  mov    %rax,-0x120(%rbp)
  lea    -0x248(%rbp),%rax
  mov    %rax,-0x118(%rbp)
  lea    -0x240(%rbp),%rax
  mov    %rax,-0x110(%rbp)
  lea    -0x268(%rbp),%rax
  mov    %rax,-0x108(%rbp)
  lea    -0x238(%rbp),%rax
  mov    %rax,-0x100(%rbp)
  lea    -0x27f(%rbp),%rax
  mov    %rax,-0xf8(%rbp)
  lea    -0x27e(%rbp),%rax
  mov    %rax,-0xf0(%rbp)
  lea    -0x274(%rbp),%rax
  mov    %rax,-0xe8(%rbp)
  lea    -0x272(%rbp),%rax
  mov    %rax,-0xe0(%rbp)
  lea    -0x248(%rbp),%rax
  mov    %rax,-0xd8(%rbp)
  lea    -0x240(%rbp),%rax
  mov    %rax,-0xd0(%rbp)
  lea    -0x268(%rbp),%rax
  mov    %rax,-0xc8(%rbp)
  lea    -0x238(%rbp),%rax
  mov    %rax,-0xc0(%rbp)
  lea    -0x281(%rbp),%rax
  mov    %rax,-0xb8(%rbp)
  lea    -0x280(%rbp),%rax
  mov    %rax,-0xb0(%rbp)
  lea    -0x278(%rbp),%rax
  mov    %rax,-0xa8(%rbp)
  lea    -0x276(%rbp),%rax
  mov    %rax,-0xa0(%rbp)
  lea    -0x260(%rbp),%rax
  mov    %rax,-0x98(%rbp)
  lea    -0x258(%rbp),%rax
  mov    %rax,-0x90(%rbp)
  lea    -0x26c(%rbp),%rax
  mov    %rax,-0x88(%rbp)
  lea    -0x250(%rbp),%rax
  mov    %rax,-0x80(%rbp)
  movb   $0x58,-0x27d(%rbp)
  movb   $0xd,-0x27c(%rbp)
  movw   $0xc8,-0x270(%rbp)
  movw   $0x12c,-0x26e(%rbp)
  movq   $0x3e8,-0x230(%rbp)
  movq   $0x7d0,-0x228(%rbp)
  movss  D16(%rip),%xmm0
  movss  %xmm0,-0x264(%rbp)
  movsd  D12(%rip),%xmm0
  movsd  %xmm0,-0x220(%rbp)
  lea    -0x27d(%rbp),%rax
  mov    %rax,-0x78(%rbp)
  lea    -0x27c(%rbp),%rax
  mov    %rax,-0x70(%rbp)
  lea    -0x270(%rbp),%rax
  mov    %rax,-0x68(%rbp)
  lea    -0x26e(%rbp),%rax
  mov    %rax,-0x60(%rbp)
  lea    -0x230(%rbp),%rax
  mov    %rax,-0x58(%rbp)
  lea    -0x228(%rbp),%rax
  mov    %rax,-0x50(%rbp)
  lea    -0x264(%rbp),%rax
  mov    %rax,-0x48(%rbp)
  lea    -0x220(%rbp),%rax
  mov    %rax,-0x40(%rbp)
  lea    -0x27d(%rbp),%rax
  mov    %rax,-0x218(%rbp)
  lea    -0x27c(%rbp),%rax
  mov    %rax,-0x210(%rbp)
  lea    -0x270(%rbp),%rax
  mov    %rax,-0x208(%rbp)
  lea    -0x26e(%rbp),%rax
  mov    %rax,-0x200(%rbp)
  lea    -0x230(%rbp),%rax
  mov    %rax,-0x1f8(%rbp)
  lea    -0x228(%rbp),%rax
  mov    %rax,-0x1f0(%rbp)
  lea    -0x264(%rbp),%rax
  mov    %rax,-0x1e8(%rbp)
  lea    -0x220(%rbp),%rax
  mov    %rax,-0x1e0(%rbp)
  movb   $0x59,-0x27b(%rbp)
  movb   $0xb,-0x27a(%rbp)
  lea    -0x27b(%rbp),%rax
  mov    %rax,-0x38(%rbp)
  lea    -0x27a(%rbp),%rax
  mov    %rax,-0x30(%rbp)
  lea    -0x27d(%rbp),%rax
  mov    %rax,-0x28(%rbp)
  lea    -0x27c(%rbp),%rax
  mov    %rax,-0x20(%rbp)
  lea    -0x27b(%rbp),%rax
  mov    %rax,-0x18(%rbp)
  lea    -0x27a(%rbp),%rax
  mov    %rax,-0x10(%rbp)
  lea    -0x27f(%rbp),%rax
  mov    %rax,-0x1d8(%rbp)
  lea    -0x27e(%rbp),%rax
  mov    %rax,-0x1d0(%rbp)
  lea    -0x27b(%rbp),%rax
  mov    %rax,-0x1c8(%rbp)
  lea    -0x27a(%rbp),%rax
  mov    %rax,-0x1c0(%rbp)
  lea    -0x281(%rbp),%rax
  mov    %rax,-0x1b8(%rbp)
  lea    -0x280(%rbp),%rax
  mov    %rax,-0x1b0(%rbp)
  lea    -0x27f(%rbp),%rax
  mov    %rax,-0x1a8(%rbp)
  lea    -0x27e(%rbp),%rax
  mov    %rax,-0x1a0(%rbp)
  lea    -0x27d(%rbp),%rax
  mov    %rax,-0x198(%rbp)
  lea    -0x27c(%rbp),%rax
  mov    %rax,-0x190(%rbp)
  lea    -0x27b(%rbp),%rax
  mov    %rax,-0x188(%rbp)
  lea    -0x27a(%rbp),%rax
  mov    %rax,-0x180(%rbp)
  mov    $0x0,%eax
  call   <marker1@plt>
  mov    $0x0,%eax
  mov    -0x8(%rbp),%rdx
  sub    %fs:0x28,%rdx
  je     L5
  call   <__stack_chk_fail@plt>
L5:
  leave
  ret
```

tool_calls: name: extract_symbolic_data
arguments: tag: D44
type_guessed: f32
name: extract_symbolic_data
arguments: tag: D58
type_guessed: f64
name: extract_symbolic_data
arguments: tag: D36
type_guessed: byte[4]
name: extract_symbolic_data
arguments: tag: D35
type_guessed: byte[8]
name: extract_symbolic_data
arguments: tag: D16
type_guessed: f32
name: extract_symbolic_data
arguments: tag: D12
type_guessed: f64

tool: D44: 60

tool: D58: 70

tool: {"D36": [0x00,0x00,0xc0,0x40]}

tool: {"D35": [0x00,0x00,0x00,0x00,0x00,0x00,0x1c,0x40]}

tool: D16: 3

tool: D12: 10.3

assistant: ```c
int main(void) {
  char lave = 'B';
  unsigned char lavish = 10;
  short lax = 20;
  unsigned short lecherous = 30;
  long lechery = 40;
  unsigned long lectern = 50;
  float leeway = 60;
  double legacy = 70;
  signed char lemonade = 35;
  const char laconic = 'A';
  const unsigned char laggard = 1;
  const short lagoon = 2;
  const unsigned short laity = 3;
  const long lambent = 4;
  const unsigned long laminated = 5;
  const float lampoon = 6;
  const double languid = 7;
  const char *legend = &lave;
  const unsigned char *legerdemain = &lavish;
  const short *leniency = &lax;
  const unsigned short *leonine = &lecherous;
  const long *lesion = &lechery;
  const unsigned long *lethal = &lectern;
  const float *lethargic = &leeway;
  const double *levity = &legacy;
  const char *const lewd = &laconic;
  const unsigned char *const lexicographer = &laggard;
  const short *const lexicon = &lagoon;
  const unsigned short *const liaison = &laity;
  const long *const libation = &lambent;
  const unsigned long *const libelous = &laminated;
  const float *const libertine = &lampoon;
  const double *const libidinous = &languid;
  char const *languish = &laconic;
  unsigned char const *languor = &laggard;
  short const *lank = &lagoon;
  unsigned short const *lapidary = &laity;
  long const *larceny = &lambent;
  unsigned long const *largess = &laminated;
  float const *lascivious = &lampoon;
  double const *lassitude = &languid;
  char *const lamprey = &lave;
  unsigned char *const lariat = &lavish;
  short *const laudanum = &lax;
  unsigned short *const lecithin = &lecherous;
  long *const leviathan = &lechery;
  unsigned long *const libretto = &lectern;
  float *const lissome = &leeway;
  double *const locust = &legacy;
  volatile char vox = 'X';
  volatile unsigned char victuals = 13;
  volatile short vixen = 200;
  volatile unsigned short vitriol = 300;
  volatile long vellum = 1000;
  volatile unsigned long valve = 2000;
  volatile float vacuity = 3.0;
  volatile double vertigo = 10.3;
  volatile char *vampire = &vox;
  volatile unsigned char *viper = &victuals;
  volatile short *vigour = &vixen;
  volatile unsigned short *vapour = &vitriol;
  volatile long *ventricle = &vellum;
  volatile unsigned long *vigintillion = &valve;
  volatile float *vocation = &vacuity;
  volatile double *veracity = &vertigo;
  volatile char *volatile vapidity = &vox;
  volatile unsigned char *volatile velocity = &victuals;
  volatile short *volatile veneer = &vixen;
  volatile unsigned short *volatile video = &vitriol;
  volatile long *volatile vacuum = &vellum;
  volatile unsigned long *volatile veniality = &valve;
  volatile float *volatile vitality = &vacuity;
  volatile double *volatile voracity = &vertigo;
  const volatile char victor = 'Y';
  const volatile unsigned char vicar = 11;
  const volatile char *victory = &victor;
  const volatile unsigned char *vicarage = &vicar;
  volatile char *const vein = &vox;
  volatile unsigned char *const vogue = &victuals;
  const volatile char *const cavern = &victor;
  const volatile unsigned char *const coverlet = &vicar;
  const char *volatile caveat = &laconic;
  const unsigned char *volatile covenant = &laggard;
  const volatile char *volatile vizier = &victor;
  const volatile unsigned char *volatile vanadium = &vicar;
  char *const volatile vane = &lave;
  unsigned char *const volatile veldt = &lavish;
  const char *const volatile cove = &laconic;
  const unsigned char *const volatile cavity = &laggard;
  volatile char *const volatile vagus = &vox;
  volatile unsigned char *const volatile vagrancy = &victuals;
  const volatile char *const volatile vagary = &victor;
  const volatile unsigned char *const volatile vendor = &vicar;
  struct crass {
    char *const ptr;
  } crass;
  struct crisp {
    char *const *ptr;
  } crisp;
  marker1();
  return 0;
}
```