user: What would the C source look like for the assembly code provided here?

```asm
<buildUserList>:
  endbr64
  push   %r13
  push   %r12
  push   %rbp
  push   %rbx
  sub    $0x8,%rsp
  mov    %rdi,%r12
  mov    %rsi,%rbp
  mov    %rdx,%rbx
  mov    %rcx,%r13
  movl   $0x0,(%rsi)
  lea    D2(%rip),%rsi
  mov    (%rdi),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D194(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D493(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D329(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D423(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D199(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D238(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D309(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D28(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D66(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D231(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D22(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D40(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D304(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D161(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D467(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D399(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D348(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D359(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D25(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D524(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D191(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D15(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D283(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D377(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D310(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D522(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D69(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D112(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D172(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D356(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D336(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D252(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D325(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D20(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D403(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D147(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D98(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D438(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D95(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D395(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D237(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D253(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D155(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D83(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D528(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D271(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D87(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D37(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D425(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D53(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D43(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  lea    D340(%rip),%rsi
  call   <strcpy@plt>
  addl   $0x1,0x0(%rbp)
  mov    (%rbx),%rax
  movb   $0x3a,(%rax)
  mov    (%rbx),%rax
  movb   $0x7a,0x1(%rax)
  mov    0x8(%rbx),%rax
  movb   $0x20,(%rax)
  mov    0x8(%rbx),%rax
  movb   $0x6e,0x1(%rax)
  mov    0x10(%rbx),%rax
  movb   $0x61,(%rax)
  mov    0x10(%rbx),%rax
  movb   $0x5a,0x1(%rax)
  mov    0x18(%rbx),%rax
  movb   $0x62,(%rax)
  mov    0x18(%rbx),%rax
  movb   $0x79,0x1(%rax)
  mov    0x20(%rbx),%rax
  movb   $0x63,(%rax)
  mov    0x20(%rbx),%rax
  movb   $0x58,0x1(%rax)
  mov    0x28(%rbx),%rax
  movb   $0x64,(%rax)
  mov    0x28(%rbx),%rax
  movb   $0x77,0x1(%rax)
  mov    0x30(%rbx),%rax
  movb   $0x65,(%rax)
  mov    0x30(%rbx),%rax
  movb   $0x56,0x1(%rax)
  mov    0x38(%rbx),%rax
  movb   $0x66,(%rax)
  mov    0x38(%rbx),%rax
  movb   $0x75,0x1(%rax)
  mov    0x40(%rbx),%rax
  movb   $0x67,(%rax)
  mov    0x40(%rbx),%rax
  movb   $0x54,0x1(%rax)
  mov    0x48(%rbx),%rax
  movb   $0x68,(%rax)
  mov    0x48(%rbx),%rax
  movb   $0x73,0x1(%rax)
  mov    0x50(%rbx),%rax
  movb   $0x69,(%rax)
  mov    0x50(%rbx),%rax
  movb   $0x52,0x1(%rax)
  mov    0x58(%rbx),%rax
  movb   $0x6a,(%rax)
  mov    0x58(%rbx),%rax
  movb   $0x71,0x1(%rax)
  mov    0x60(%rbx),%rax
  movb   $0x6b,(%rax)
  mov    0x60(%rbx),%rax
  movb   $0x50,0x1(%rax)
  mov    0x68(%rbx),%rax
  movb   $0x6c,(%rax)
  mov    0x68(%rbx),%rax
  movb   $0x6f,0x1(%rax)
  mov    0x70(%rbx),%rax
  movb   $0x6d,(%rax)
  mov    0x70(%rbx),%rax
  movb   $0x4e,0x1(%rax)
  mov    0x78(%rbx),%rax
  movb   $0x6e,(%rax)
  mov    0x78(%rbx),%rax
  movb   $0x6d,0x1(%rax)
  mov    0x80(%rbx),%rax
  movb   $0x6f,(%rax)
  mov    0x80(%rbx),%rax
  movb   $0x4c,0x1(%rax)
  mov    0x88(%rbx),%rax
  movb   $0x70,(%rax)
  mov    0x88(%rbx),%rax
  movb   $0x6b,0x1(%rax)
  mov    0x90(%rbx),%rax
  movb   $0x71,(%rax)
  mov    0x90(%rbx),%rax
  movb   $0x4a,0x1(%rax)
  mov    0x98(%rbx),%rax
  movb   $0x72,(%rax)
  mov    0x98(%rbx),%rax
  movb   $0x69,0x1(%rax)
  mov    0xa0(%rbx),%rax
  movb   $0x73,(%rax)
  mov    0xa0(%rbx),%rax
  movb   $0x48,0x1(%rax)
  mov    0xa8(%rbx),%rax
  movb   $0x74,(%rax)
  mov    0xa8(%rbx),%rax
  movb   $0x67,0x1(%rax)
  mov    0xb0(%rbx),%rax
  movb   $0x75,(%rax)
  mov    0xb0(%rbx),%rax
  movb   $0x46,0x1(%rax)
  mov    0xb8(%rbx),%rax
  movb   $0x76,(%rax)
  mov    0xb8(%rbx),%rax
  movb   $0x65,0x1(%rax)
  mov    0xc0(%rbx),%rax
  movb   $0x77,(%rax)
  mov    0xc0(%rbx),%rax
  movb   $0x44,0x1(%rax)
  mov    0xc8(%rbx),%rax
  movb   $0x78,(%rax)
  mov    0xc8(%rbx),%rax
  movb   $0x63,0x1(%rax)
  mov    0xd0(%rbx),%rax
  movb   $0x79,(%rax)
  mov    0xd0(%rbx),%rax
  movb   $0x42,0x1(%rax)
  mov    0xd8(%rbx),%rax
  movb   $0x7a,(%rax)
  mov    0xd8(%rbx),%rax
  movb   $0x61,0x1(%rax)
  mov    0xe0(%rbx),%rax
  movb   $0x41,(%rax)
  mov    0xe0(%rbx),%rax
  movb   $0x3a,0x1(%rax)
  mov    0xe8(%rbx),%rax
  movb   $0x42,(%rax)
  mov    0xe8(%rbx),%rax
  movb   $0x59,0x1(%rax)
  mov    0xf0(%rbx),%rax
  movb   $0x43,(%rax)
  mov    0xf0(%rbx),%rax
  movb   $0x78,0x1(%rax)
  mov    0xf8(%rbx),%rax
  movb   $0x44,(%rax)
  mov    0xf8(%rbx),%rax
  movb   $0x57,0x1(%rax)
  mov    0x100(%rbx),%rax
  movb   $0x45,(%rax)
  mov    0x100(%rbx),%rax
  movb   $0x76,0x1(%rax)
  mov    0x108(%rbx),%rax
  movb   $0x46,(%rax)
  mov    0x108(%rbx),%rax
  movb   $0x55,0x1(%rax)
  mov    0x110(%rbx),%rax
  movb   $0x47,(%rax)
  mov    0x110(%rbx),%rax
  movb   $0x74,0x1(%rax)
  mov    0x118(%rbx),%rax
  movb   $0x48,(%rax)
  mov    0x118(%rbx),%rax
  movb   $0x53,0x1(%rax)
  mov    0x120(%rbx),%rax
  movb   $0x49,(%rax)
  mov    0x120(%rbx),%rax
  movb   $0x72,0x1(%rax)
  mov    0x128(%rbx),%rax
  movb   $0x4a,(%rax)
  mov    0x128(%rbx),%rax
  movb   $0x51,0x1(%rax)
  mov    0x130(%rbx),%rax
  movb   $0x4b,(%rax)
  mov    0x130(%rbx),%rax
  movb   $0x70,0x1(%rax)
  mov    0x138(%rbx),%rax
  movb   $0x4c,(%rax)
  mov    0x138(%rbx),%rax
  movb   $0x4f,0x1(%rax)
  mov    0x140(%rbx),%rax
  movb   $0x4d,(%rax)
  mov    0x140(%rbx),%rax
  movb   $0x20,0x1(%rax)
  mov    0x148(%rbx),%rax
  movb   $0x4e,(%rax)
  mov    0x148(%rbx),%rax
  movb   $0x4d,0x1(%rax)
  mov    0x150(%rbx),%rax
  movb   $0x4f,(%rax)
  mov    0x150(%rbx),%rax
  movb   $0x6c,0x1(%rax)
  mov    0x158(%rbx),%rax
  movb   $0x50,(%rax)
  mov    0x158(%rbx),%rax
  movb   $0x4b,0x1(%rax)
  mov    0x160(%rbx),%rax
  movb   $0x51,(%rax)
  mov    0x160(%rbx),%rax
  movb   $0x6a,0x1(%rax)
  mov    0x168(%rbx),%rax
  movb   $0x52,(%rax)
  mov    0x168(%rbx),%rax
  movb   $0x49,0x1(%rax)
  mov    0x170(%rbx),%rax
  movb   $0x53,(%rax)
  mov    0x170(%rbx),%rax
  movb   $0x68,0x1(%rax)
  mov    0x178(%rbx),%rax
  movb   $0x54,(%rax)
  mov    0x178(%rbx),%rax
  movb   $0x47,0x1(%rax)
  mov    0x180(%rbx),%rax
  movb   $0x55,(%rax)
  mov    0x180(%rbx),%rax
  movb   $0x66,0x1(%rax)
  mov    0x188(%rbx),%rax
  movb   $0x56,(%rax)
  mov    0x188(%rbx),%rax
  movb   $0x45,0x1(%rax)
  mov    0x190(%rbx),%rax
  movb   $0x57,(%rax)
  mov    0x190(%rbx),%rax
  movb   $0x64,0x1(%rax)
  mov    0x198(%rbx),%rax
  movb   $0x58,(%rax)
  mov    0x198(%rbx),%rax
  movb   $0x43,0x1(%rax)
  mov    0x1a0(%rbx),%rax
  movb   $0x59,(%rax)
  mov    0x1a0(%rbx),%rax
  movb   $0x62,0x1(%rax)
  mov    0x1a8(%rbx),%rax
  movb   $0x5a,(%rax)
  mov    0x1a8(%rbx),%rax
  movb   $0x41,0x1(%rax)
  movl   $0x36,0x0(%r13)
  mov    $0x1,%eax
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
```

tool_calls: name: read_data
arguments: data_tag: D2
type: string
name: read_data
arguments: data_tag: D194
type: string
name: read_data
arguments: data_tag: D493
type: string
name: read_data
arguments: data_tag: D329
type: string
name: read_data
arguments: data_tag: D423
type: string
name: read_data
arguments: data_tag: D199
type: string
name: read_data
arguments: data_tag: D238
type: string
name: read_data
arguments: data_tag: D309
type: string
name: read_data
arguments: data_tag: D28
type: string
name: read_data
arguments: data_tag: D66
type: string
name: read_data
arguments: data_tag: D231
type: string
name: read_data
arguments: data_tag: D22
type: string
name: read_data
arguments: data_tag: D40
type: string
name: read_data
arguments: data_tag: D304
type: string
name: read_data
arguments: data_tag: D161
type: string
name: read_data
arguments: data_tag: D467
type: string
name: read_data
arguments: data_tag: D399
type: string
name: read_data
arguments: data_tag: D348
type: string
name: read_data
arguments: data_tag: D359
type: string
name: read_data
arguments: data_tag: D25
type: string
name: read_data
arguments: data_tag: D524
type: string
name: read_data
arguments: data_tag: D191
type: string
name: read_data
arguments: data_tag: D15
type: string
name: read_data
arguments: data_tag: D283
type: string
name: read_data
arguments: data_tag: D377
type: string
name: read_data
arguments: data_tag: D310
type: string
name: read_data
arguments: data_tag: D522
type: string
name: read_data
arguments: data_tag: D69
type: string
name: read_data
arguments: data_tag: D112
type: string
name: read_data
arguments: data_tag: D172
type: string
name: read_data
arguments: data_tag: D356
type: string
name: read_data
arguments: data_tag: D336
type: string
name: read_data
arguments: data_tag: D252
type: string
name: read_data
arguments: data_tag: D325
type: string
name: read_data
arguments: data_tag: D20
type: string
name: read_data
arguments: data_tag: D403
type: string
name: read_data
arguments: data_tag: D147
type: string
name: read_data
arguments: data_tag: D98
type: string
name: read_data
arguments: data_tag: D438
type: string
name: read_data
arguments: data_tag: D95
type: string
name: read_data
arguments: data_tag: D395
type: string
name: read_data
arguments: data_tag: D237
type: string
name: read_data
arguments: data_tag: D253
type: string
name: read_data
arguments: data_tag: D155
type: string
name: read_data
arguments: data_tag: D83
type: string
name: read_data
arguments: data_tag: D528
type: string
name: read_data
arguments: data_tag: D271
type: string
name: read_data
arguments: data_tag: D87
type: string
name: read_data
arguments: data_tag: D37
type: string
name: read_data
arguments: data_tag: D425
type: string
name: read_data
arguments: data_tag: D53
type: string
name: read_data
arguments: data_tag: D43
type: string
name: read_data
arguments: data_tag: D340
type: string

tool: D2: Monash University

tool: D194: AMIRA

tool: D493: Aberfoyle

tool: D329: AGSO

tool: D423: BHP Co Ltd

tool: D199: Billiton Exploration

tool: D238: CRA Exploration Pty Ltd

tool: D309: Geopeko

tool: D28: MIM Exploration Pty Ltd

tool: D66: Newcrest Mining Limited

tool: D231: Pasminco Exploration

tool: D22: RGC Exploration Pty Ltd

tool: D40: RTZ Ltd

tool: D304: Sumitomo Metal Mining Oceania

tool: D161: Western Mining Corporation Ltd

tool: D467: LaTrobe University

tool: D399: Melbourne University

tool: D348: CSIRO DIT

tool: D359: CSIRO DEM

tool: D25: L Harris: UWA

tool: D524: P James: Adelaide Uni

tool: D191: R Holcombe: Uni of Queensland

tool: D15: N Mancktelow: ETH

tool: D283: W Means: SUNYA

tool: D377: M Lackie: Macquarie

tool: D310: K McClay: Royal Holloway

tool: D522: D DePaor: GWU

tool: D69: Unlimited Demostration

tool: D112: A Demostration

tool: D172: B Demostration

tool: D356: C Demostration

tool: D336: D Demostration

tool: D252: E Demostration

tool: D325: F Demostration

tool: D20: G Demostration

tool: D403: H Demostration

tool: D147: I Demostration

tool: D98: J Demostration

tool: D438: K Demostration

tool: D95: L Demostration

tool: D395: M Demostration

tool: D237: N Demostration

tool: D253: O Demostration

tool: D155: P Demostration

tool: D83: Q Demostration

tool: D528: R Demostration

tool: D271: S Demostration

tool: D87: T Demostration

tool: D37: U Demostration

tool: D425: V Demostration

tool: D53: W Demostration

tool: D43: X Demostration

tool: D340: Machine Specific

assistant: ```c
int buildUserList(char **userList, int *numUser, char **encoding, int *numEncodings) {
  int i;
  *numUser = 0;
  strcpy((char *)userList[*numUser], "Monash University");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "AMIRA");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Aberfoyle");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "AGSO");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "BHP Co Ltd");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Billiton Exploration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "CRA Exploration Pty Ltd");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Geopeko");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "MIM Exploration Pty Ltd");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Newcrest Mining Limited");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Pasminco Exploration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "RGC Exploration Pty Ltd");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "RTZ Ltd");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Sumitomo Metal Mining Oceania");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Western Mining Corporation Ltd");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "LaTrobe University");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Melbourne University");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "CSIRO DIT");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "CSIRO DEM");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "L Harris: UWA");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "P James: Adelaide Uni");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "R Holcombe: Uni of Queensland");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "N Mancktelow: ETH");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "W Means: SUNYA");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "M Lackie: Macquarie");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "K McClay: Royal Holloway");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "D DePaor: GWU");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Unlimited Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "A Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "B Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "C Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "D Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "E Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "F Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "G Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "H Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "I Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "J Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "K Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "L Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "M Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "N Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "O Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "P Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Q Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "R Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "S Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "T Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "U Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "V Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "W Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "X Demostration");
  (*numUser)++;
  strcpy((char *)userList[*numUser], "Machine Specific");
  (*numUser)++;
  i = 0;
  encoding[i][0] = ':';
  encoding[i][1] = 'z';
  i++;
  encoding[i][0] = ' ';
  encoding[i][1] = 'n';
  i++;
  encoding[i][0] = 'a';
  encoding[i][1] = 'Z';
  i++;
  encoding[i][0] = 'b';
  encoding[i][1] = 'y';
  i++;
  encoding[i][0] = 'c';
  encoding[i][1] = 'X';
  i++;
  encoding[i][0] = 'd';
  encoding[i][1] = 'w';
  i++;
  encoding[i][0] = 'e';
  encoding[i][1] = 'V';
  i++;
  encoding[i][0] = 'f';
  encoding[i][1] = 'u';
  i++;
  encoding[i][0] = 'g';
  encoding[i][1] = 'T';
  i++;
  encoding[i][0] = 'h';
  encoding[i][1] = 's';
  i++;
  encoding[i][0] = 'i';
  encoding[i][1] = 'R';
  i++;
  encoding[i][0] = 'j';
  encoding[i][1] = 'q';
  i++;
  encoding[i][0] = 'k';
  encoding[i][1] = 'P';
  i++;
  encoding[i][0] = 'l';
  encoding[i][1] = 'o';
  i++;
  encoding[i][0] = 'm';
  encoding[i][1] = 'N';
  i++;
  encoding[i][0] = 'n';
  encoding[i][1] = 'm';
  i++;
  encoding[i][0] = 'o';
  encoding[i][1] = 'L';
  i++;
  encoding[i][0] = 'p';
  encoding[i][1] = 'k';
  i++;
  encoding[i][0] = 'q';
  encoding[i][1] = 'J';
  i++;
  encoding[i][0] = 'r';
  encoding[i][1] = 'i';
  i++;
  encoding[i][0] = 's';
  encoding[i][1] = 'H';
  i++;
  encoding[i][0] = 't';
  encoding[i][1] = 'g';
  i++;
  encoding[i][0] = 'u';
  encoding[i][1] = 'F';
  i++;
  encoding[i][0] = 'v';
  encoding[i][1] = 'e';
  i++;
  encoding[i][0] = 'w';
  encoding[i][1] = 'D';
  i++;
  encoding[i][0] = 'x';
  encoding[i][1] = 'c';
  i++;
  encoding[i][0] = 'y';
  encoding[i][1] = 'B';
  i++;
  encoding[i][0] = 'z';
  encoding[i][1] = 'a';
  i++;
  encoding[i][0] = 'A';
  encoding[i][1] = ':';
  i++;
  encoding[i][0] = 'B';
  encoding[i][1] = 'Y';
  i++;
  encoding[i][0] = 'C';
  encoding[i][1] = 'x';
  i++;
  encoding[i][0] = 'D';
  encoding[i][1] = 'W';
  i++;
  encoding[i][0] = 'E';
  encoding[i][1] = 'v';
  i++;
  encoding[i][0] = 'F';
  encoding[i][1] = 'U';
  i++;
  encoding[i][0] = 'G';
  encoding[i][1] = 't';
  i++;
  encoding[i][0] = 'H';
  encoding[i][1] = 'S';
  i++;
  encoding[i][0] = 'I';
  encoding[i][1] = 'r';
  i++;
  encoding[i][0] = 'J';
  encoding[i][1] = 'Q';
  i++;
  encoding[i][0] = 'K';
  encoding[i][1] = 'p';
  i++;
  encoding[i][0] = 'L';
  encoding[i][1] = 'O';
  i++;
  encoding[i][0] = 'M';
  encoding[i][1] = ' ';
  i++;
  encoding[i][0] = 'N';
  encoding[i][1] = 'M';
  i++;
  encoding[i][0] = 'O';
  encoding[i][1] = 'l';
  i++;
  encoding[i][0] = 'P';
  encoding[i][1] = 'K';
  i++;
  encoding[i][0] = 'Q';
  encoding[i][1] = 'j';
  i++;
  encoding[i][0] = 'R';
  encoding[i][1] = 'I';
  i++;
  encoding[i][0] = 'S';
  encoding[i][1] = 'h';
  i++;
  encoding[i][0] = 'T';
  encoding[i][1] = 'G';
  i++;
  encoding[i][0] = 'U';
  encoding[i][1] = 'f';
  i++;
  encoding[i][0] = 'V';
  encoding[i][1] = 'E';
  i++;
  encoding[i][0] = 'W';
  encoding[i][1] = 'd';
  i++;
  encoding[i][0] = 'X';
  encoding[i][1] = 'C';
  i++;
  encoding[i][0] = 'Y';
  encoding[i][1] = 'b';
  i++;
  encoding[i][0] = 'Z';
  encoding[i][1] = 'A';
  i++;
  *numEncodings = i;
  return (1);
}
```