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

```asm
<main>:
  endbr64
  sub    $0x3d8,%rsp
  mov    $0x1e,%ecx
  mov    $0xa5d,%edx
  movdqa D80(%rip),%xmm0
  mov    %fs:0x28,%rax
  mov    %rax,0x3c8(%rsp)
  xor    %eax,%eax
  lea    0x130(%rsp),%rdi
  movabs $0x7d0a7d0a3432203a,%rax
  movb   $0x0,0x128(%rsp)
  movaps %xmm0,0x90(%rsp)
  movdqa D81(%rip),%xmm0
  lea    D134(%rip),%rsi
  mov    %rax,0x120(%rsp)
  movabs $0x7574615322202c22,%rax
  movaps %xmm0,0xa0(%rsp)
  movdqa D204(%rip),%xmm0
  mov    %rax,0x80(%rsp)
  mov    $0x5d22,%eax
  movaps %xmm0,0xb0(%rsp)
  movdqa D41(%rip),%xmm0
  movaps %xmm0,0xc0(%rsp)
  movdqa D64(%rip),%xmm0
  movaps %xmm0,0xd0(%rsp)
  movdqa D105(%rip),%xmm0
  movaps %xmm0,0xe0(%rsp)
  movdqa D201(%rip),%xmm0
  movaps %xmm0,0xf0(%rsp)
  movdqa D116(%rip),%xmm0
  movaps %xmm0,0x100(%rsp)
  movdqa D176(%rip),%xmm0
  movaps %xmm0,0x110(%rsp)
  movdqa D165(%rip),%xmm0
  movaps %xmm0,0x40(%rsp)
  movdqa D115(%rip),%xmm0
  movaps %xmm0,0x50(%rsp)
  movdqa D34(%rip),%xmm0
  movaps %xmm0,0x60(%rsp)
  movdqa D55(%rip),%xmm0
  movaps %xmm0,0x70(%rsp)
  movl   $0x79616472,0x88(%rsp)
  movdqa D135(%rip),%xmm0
  rep movsq %ds:(%rsi),%es:(%rdi)
  mov    %ax,0x8c(%rsp)
  mov    $0x31,%ecx
  movaps %xmm0,(%rsp)
  movdqa D146(%rip),%xmm0
  mov    %dx,0x30(%rsp)
  movaps %xmm0,0x10(%rsp)
  movdqa D177(%rip),%xmm0
  movb   $0x0,0x8e(%rsp)
  movaps %xmm0,0x20(%rsp)
  mov    (%rsi),%eax
  lea    D67(%rip),%rsi
  movb   $0x0,0x32(%rsp)
  mov    %eax,(%rdi)
  movzwl D184(%rip),%eax
  mov    %ax,0x4(%rdi)
  movzbl D75(%rip),%eax
  mov    %al,0x6(%rdi)
  lea    0x230(%rsp),%rdi
  rep movsq %ds:(%rsi),%es:(%rdi)
  mov    (%rsi),%eax
  mov    %eax,(%rdi)
  movzwl D78(%rip),%eax
  mov    %ax,0x4(%rdi)
  movzbl D138(%rip),%eax
  mov    %al,0x6(%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    0x230(%rsp),%rdi
  call   <doit@plt>
  xor    %eax,%eax
  call   <create_objects@plt>
  mov    0x3c8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L4
  xor    %eax,%eax
  add    $0x3d8,%rsp
  ret
L4:
  call   <__stack_chk_fail@plt>
```

tool_calls: name: unpack_data
arguments: tag: D80
data_type: byte[16]
name: unpack_data
arguments: tag: D81
data_type: byte[16]
name: unpack_data
arguments: tag: D134
data_type: string
name: unpack_data
arguments: tag: D204
data_type: byte[16]
name: unpack_data
arguments: tag: D41
data_type: byte[16]
name: unpack_data
arguments: tag: D64
data_type: byte[16]
name: unpack_data
arguments: tag: D105
data_type: byte[16]
name: unpack_data
arguments: tag: D201
data_type: byte[16]
name: unpack_data
arguments: tag: D116
data_type: byte[16]
name: unpack_data
arguments: tag: D176
data_type: byte[16]
name: unpack_data
arguments: tag: D165
data_type: byte[16]
name: unpack_data
arguments: tag: D115
data_type: byte[16]
name: unpack_data
arguments: tag: D34
data_type: byte[16]
name: unpack_data
arguments: tag: D55
data_type: byte[16]
name: unpack_data
arguments: tag: D135
data_type: byte[16]
name: unpack_data
arguments: tag: D146
data_type: byte[16]
name: unpack_data
arguments: tag: D177
data_type: byte[16]
name: unpack_data
arguments: tag: D67
data_type: string
name: unpack_data
arguments: tag: D184
data_type: byte[2]
name: unpack_data
arguments: tag: D75
data_type: byte
name: unpack_data
arguments: tag: D78
data_type: byte[2]
name: unpack_data
arguments: tag: D138
data_type: byte

tool: {"D80": [0x7b,0x0a,0x22,0x6e,0x61,0x6d,0x65,0x22,0x3a,0x20,0x22,0x4a,0x61,0x63,0x6b,0x20]}

tool: {"D81": [0x28,0x5c,0x22,0x42,0x65,0x65,0x5c,0x22,0x29,0x20,0x4e,0x69,0x6d,0x62,0x6c,0x65]}

tool: D134: {
		"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: {"D204": [0x22,0x2c,0x20,0x0a,0x22,0x66,0x6f,0x72,0x6d,0x61,0x74,0x22,0x3a,0x20,0x7b,0x22]}

tool: {"D41": [0x74,0x79,0x70,0x65,0x22,0x3a,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x22,0x72,0x65]}

tool: {"D64": [0x63,0x74,0x22,0x2c,0x20,0x0a,0x22,0x77,0x69,0x64,0x74,0x68,0x22,0x3a,0x20,0x20]}

tool: {"D105": [0x20,0x20,0x20,0x20,0x31,0x39,0x32,0x30,0x2c,0x20,0x0a,0x22,0x68,0x65,0x69,0x67]}

tool: {"D201": [0x68,0x74,0x22,0x3a,0x20,0x20,0x20,0x20,0x20,0x31,0x30,0x38,0x30,0x2c,0x20,0x0a]}

tool: {"D116": [0x22,0x69,0x6e,0x74,0x65,0x72,0x6c,0x61,0x63,0x65,0x22,0x3a,0x20,0x20,0x66,0x61]}

tool: {"D176": [0x6c,0x73,0x65,0x2c,0x22,0x66,0x72,0x61,0x6d,0x65,0x20,0x72,0x61,0x74,0x65,0x22]}

tool: {"D165": [0x5b,0x22,0x53,0x75,0x6e,0x64,0x61,0x79,0x22,0x2c,0x20,0x22,0x4d,0x6f,0x6e,0x64]}

tool: {"D115": [0x61,0x79,0x22,0x2c,0x20,0x22,0x54,0x75,0x65,0x73,0x64,0x61,0x79,0x22,0x2c,0x20]}

tool: {"D34": [0x22,0x57,0x65,0x64,0x6e,0x65,0x73,0x64,0x61,0x79,0x22,0x2c,0x20,0x22,0x54,0x68]}

tool: {"D55": [0x75,0x72,0x73,0x64,0x61,0x79,0x22,0x2c,0x20,0x22,0x46,0x72,0x69,0x64,0x61,0x79]}

tool: {"D135": [0x5b,0x0a,0x20,0x20,0x20,0x20,0x5b,0x30,0x2c,0x20,0x2d,0x31,0x2c,0x20,0x30,0x5d]}

tool: {"D146": [0x2c,0x0a,0x20,0x20,0x20,0x20,0x5b,0x31,0x2c,0x20,0x30,0x2c,0x20,0x30,0x5d,0x2c]}

tool: {"D177": [0x0a,0x20,0x20,0x20,0x20,0x5b,0x30,0x2c,0x20,0x30,0x2c,0x20,0x31,0x5d,0x0a,0x09]}

tool: D67: 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: {"D184": [0x09,0x7d]}

tool: D75: 0

tool: {"D78": [0x20,0x5d]}

tool: D138: 0

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;
}
```