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

```asm
<main>:
  endbr64
  sub    $0x478,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0x468(%rsp)
  xor    %eax,%eax
  movabs $0x22656d616e220a7b,%rax
  movabs $0x206b63614a22203a,%rdx
  mov    %rax,0x90(%rsp)
  mov    %rdx,0x98(%rsp)
  movabs $0x225c656542225c28,%rax
  movabs $0x656c626d694e2029,%rdx
  mov    %rax,0xa0(%rsp)
  mov    %rdx,0xa8(%rsp)
  movabs $0x726f66220a202c22,%rax
  movabs $0x227b203a2274616d,%rdx
  mov    %rax,0xb0(%rsp)
  mov    %rdx,0xb8(%rsp)
  movabs $0x20203a2265707974,%rax
  movabs $0x6572222020202020,%rdx
  mov    %rax,0xc0(%rsp)
  mov    %rdx,0xc8(%rsp)
  movabs $0x77220a202c227463,%rax
  movabs $0x20203a2268746469,%rdx
  mov    %rax,0xd0(%rsp)
  mov    %rdx,0xd8(%rsp)
  movabs $0x3032393120202020,%rax
  movabs $0x67696568220a202c,%rdx
  mov    %rax,0xe0(%rsp)
  mov    %rdx,0xe8(%rsp)
  movabs $0x202020203a227468,%rax
  movabs $0xa202c3038303120,%rdx
  mov    %rax,0xf0(%rsp)
  mov    %rdx,0xf8(%rsp)
  movabs $0x616c7265746e6922,%rax
  movabs $0x616620203a226563,%rdx
  mov    %rax,0x100(%rsp)
  mov    %rdx,0x108(%rsp)
  movabs $0x617266222c65736c,%rax
  movabs $0x226574617220656d,%rdx
  mov    %rax,0x110(%rsp)
  mov    %rdx,0x118(%rsp)
  movabs $0x7d0a7d0a3432203a,%rax
  mov    %rax,0x120(%rsp)
  movb   $0x0,0x128(%rsp)
  movabs $0x7961646e7553225b,%rax
  movabs $0x646e6f4d22202c22,%rdx
  mov    %rax,0x40(%rsp)
  mov    %rdx,0x48(%rsp)
  movabs $0x755422202c227961,%rax
  movabs $0x202c227961647365,%rdx
  mov    %rax,0x50(%rsp)
  mov    %rdx,0x58(%rsp)
  movabs $0x6473656e64655722,%rax
  movabs $0x685422202c227961,%rdx
  mov    %rax,0x60(%rsp)
  mov    %rdx,0x68(%rsp)
  movabs $0x2c22796164737275,%rax
  movabs $0x7961646972462220,%rdx
  mov    %rax,0x70(%rsp)
  mov    %rdx,0x78(%rsp)
  movabs $0x7574615322202c22,%rax
  mov    %rax,0x80(%rsp)
  movl   $0x79616472,0x88(%rsp)
  movw   $0x5d22,0x8c(%rsp)
  movb   $0x0,0x8e(%rsp)
  movabs $0x305b202020200a5b,%rax
  movabs $0x5d30202c312d202c,%rdx
  mov    %rax,(%rsp)
  mov    %rdx,0x8(%rsp)
  movabs $0x315b202020200a2c,%rax
  movabs $0x2c5d30202c30202c,%rdx
  mov    %rax,0x10(%rsp)
  mov    %rdx,0x18(%rsp)
  movabs $0x2c305b202020200a,%rax
  movabs $0x200a5d31202c3020,%rdx
  mov    %rax,0x20(%rsp)
  mov    %rdx,0x28(%rsp)
  movl   $0x5d202020,0x30(%rsp)
  movw   $0xa,0x34(%rsp)
  lea    0x130(%rsp),%rdi
  lea    D17(%rip),%rsi
  mov    $0x2c,%ecx
  rep movsq %ds:(%rsi),%es:(%rdi)
  lea    0x290(%rsp),%rdi
  lea    D15(%rip),%rsi
  mov    $0x39,%ecx
  rep movsq %ds:(%rsi),%es:(%rdi)
  mov    (%rsi),%eax
  mov    %eax,(%rdi)
  movzwl D8(%rip),%eax
  mov    %ax,0x4(%rdi)
  lea    0x90(%rsp),%rdi
  call   <doit@plt>
  lea    0x40(%rsp),%rdi
  call   <doit@plt>
  mov    %rsp,%rdi
  call   <doit@plt>
  lea    0x130(%rsp),%rdi
  call   <doit@plt>
  lea    0x290(%rsp),%rdi
  call   <doit@plt>
  mov    $0x0,%eax
  call   <create_objects@plt>
  mov    0x468(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L1
  mov    $0x0,%eax
  add    $0x478,%rsp
  ret
L1:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: extract_symbolic_data
arguments: tag: D17
type_infered: string
name: extract_symbolic_data
arguments: tag: D15
type_infered: string
name: extract_symbolic_data
arguments: tag: D8
type_infered: byte[2]

tool: D17: {
        "Image": {
            "Width":  800,
            "Height": 600,
            "Title":  "View from 15th Floor",
            "Thumbnail": {
                "Url":    "http:/*www.example.com/image/481989943",
                "Height": 125,
                "Width":  "100"
            },
            "IDs": [116, 943, 234, 38793]
        }
    }

tool: D15: precision: zip
Latitude: 37.7668
Longitude: -122.3959
City: SAN FRANCISCO
State: CA
Zip: 94107
Country: US
precision: zip
Latitude: 37.371991
Longitude: -122.02602
City: SUNNYVALE
State: CA
Zip: 94085
Country: US

tool: {"D8": [0x5d,0x00]}

assistant: ```c
int main(int argc, const char *argv[]) {
  char text1[] = "{\n\"name\": \"Jack (\\\"Bee\\\") Nimble\", \n\"format\": {\"type\":       \"rect\", \n\"width\":      1920, \n\"height\":     1080, \n\"interlace\":  false,\"frame rate\": 24\n}\n}";
  char text2[] = "[\"Sunday\", \"Monday\", \"Tuesday\", \"Wednesday\", \"Thursday\", \"Friday\", \"Saturday\"]";
  char text3[] = "[\n    [0, -1, 0],\n    [1, 0, 0],\n    [0, 0, 1]\n    ]\n";
  char text4[] = "{\n        \"Image\": {\n            \"Width\":  800,\n            \"Height\": 600,\n            \"Title\":  \"View from 15th Floor\",\n            \"Thumbnail\": {\n                \"Url\":    \"http:/*www.example.com/image/481989943\",\n                \"Height\": 125,\n                \"Width\":  \"100\"\n            },\n            \"IDs\": [116, 943, 234, 38793]\n        }\n    }";
  char text5[] = "[\n     {\n     \"precision\": \"zip\",\n     \"Latitude\":  37.7668,\n     \"Longitude\": -122.3959,\n     \"Address\":   \"\",\n     \"City\":      \"SAN FRANCISCO\",\n     \"State\":     \"CA\",\n     \"Zip\":       \"94107\",\n     \"Country\":   \"US\"\n     },\n     {\n     \"precision\": \"zip\",\n     \"Latitude\":  37.371991,\n     \"Longitude\": -122.026020,\n     \"Address\":   \"\",\n     \"City\":      \"SUNNYVALE\",\n     \"State\":     \"CA\",\n     \"Zip\":       \"94085\",\n     \"Country\":   \"US\"\n     }\n     ]";
  doit(text1);
  doit(text2);
  doit(text3);
  doit(text4);
  doit(text5);
  create_objects();
  return 0;
}
```