user: 请从给定的汇编指令推导出C源代码:

```asm
<buildUserList>:
  endbr64
  push   %r13
  mov    %rcx,%r13
  push   %r12
  mov    %rdi,%r12
  push   %rbp
  mov    %rsi,%rbp
  push   %rbx
  mov    %rdx,%rbx
  sub    $0x8,%rsp
  movl   $0x0,(%rsi)
  mov    (%rdi),%rdi
  lea    D298(%rip),%rsi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D431(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D98(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D8(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D426(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D523(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D71(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D246(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D25(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D159(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D26(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D295(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D138(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D264(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D20(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D178(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D153(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D209(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D122(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D489(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D192(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D325(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D371(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D212(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D334(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D386(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D65(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D524(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D51(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D292(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D123(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D95(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D177(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D387(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D113(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D498(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D271(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D323(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D310(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D379(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D225(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D518(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D287(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D401(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D231(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D374(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D34(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D32(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D335(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D105(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D251(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D142(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    0x0(%rbp),%eax
  lea    D21(%rip),%rsi
  add    $0x1,%eax
  mov    %eax,0x0(%rbp)
  cltq
  mov    (%r12,%rax,8),%rdi
  call   <strcpy@plt>
  mov    (%rbx),%rax
  addl   $0x1,0x0(%rbp)
  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)
  mov    $0x1,%eax
  movl   $0x36,0x0(%r13)
  add    $0x8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  ret
```

tool_calls: name: retrieve_data
arguments: tag: D298
type_infered: string
name: retrieve_data
arguments: tag: D431
type_infered: string
name: retrieve_data
arguments: tag: D98
type_infered: string
name: retrieve_data
arguments: tag: D8
type_infered: string
name: retrieve_data
arguments: tag: D426
type_infered: string
name: retrieve_data
arguments: tag: D523
type_infered: string
name: retrieve_data
arguments: tag: D71
type_infered: string
name: retrieve_data
arguments: tag: D246
type_infered: string
name: retrieve_data
arguments: tag: D25
type_infered: string
name: retrieve_data
arguments: tag: D159
type_infered: string
name: retrieve_data
arguments: tag: D26
type_infered: string
name: retrieve_data
arguments: tag: D295
type_infered: string
name: retrieve_data
arguments: tag: D138
type_infered: string
name: retrieve_data
arguments: tag: D264
type_infered: string
name: retrieve_data
arguments: tag: D20
type_infered: string
name: retrieve_data
arguments: tag: D178
type_infered: string
name: retrieve_data
arguments: tag: D153
type_infered: string
name: retrieve_data
arguments: tag: D209
type_infered: string
name: retrieve_data
arguments: tag: D122
type_infered: string
name: retrieve_data
arguments: tag: D489
type_infered: string
name: retrieve_data
arguments: tag: D192
type_infered: string
name: retrieve_data
arguments: tag: D325
type_infered: string
name: retrieve_data
arguments: tag: D371
type_infered: string
name: retrieve_data
arguments: tag: D212
type_infered: string
name: retrieve_data
arguments: tag: D334
type_infered: string
name: retrieve_data
arguments: tag: D386
type_infered: string
name: retrieve_data
arguments: tag: D65
type_infered: string
name: retrieve_data
arguments: tag: D524
type_infered: string
name: retrieve_data
arguments: tag: D51
type_infered: string
name: retrieve_data
arguments: tag: D292
type_infered: string
name: retrieve_data
arguments: tag: D123
type_infered: string
name: retrieve_data
arguments: tag: D95
type_infered: string
name: retrieve_data
arguments: tag: D177
type_infered: string
name: retrieve_data
arguments: tag: D387
type_infered: string
name: retrieve_data
arguments: tag: D113
type_infered: string
name: retrieve_data
arguments: tag: D498
type_infered: string
name: retrieve_data
arguments: tag: D271
type_infered: string
name: retrieve_data
arguments: tag: D323
type_infered: string
name: retrieve_data
arguments: tag: D310
type_infered: string
name: retrieve_data
arguments: tag: D379
type_infered: string
name: retrieve_data
arguments: tag: D225
type_infered: string
name: retrieve_data
arguments: tag: D518
type_infered: string
name: retrieve_data
arguments: tag: D287
type_infered: string
name: retrieve_data
arguments: tag: D401
type_infered: string
name: retrieve_data
arguments: tag: D231
type_infered: string
name: retrieve_data
arguments: tag: D374
type_infered: string
name: retrieve_data
arguments: tag: D34
type_infered: string
name: retrieve_data
arguments: tag: D32
type_infered: string
name: retrieve_data
arguments: tag: D335
type_infered: string
name: retrieve_data
arguments: tag: D105
type_infered: string
name: retrieve_data
arguments: tag: D251
type_infered: string
name: retrieve_data
arguments: tag: D142
type_infered: string
name: retrieve_data
arguments: tag: D21
type_infered: string

tool: D298: Monash University

tool: D431: AMIRA

tool: D98: Aberfoyle

tool: D8: AGSO

tool: D426: BHP Co Ltd

tool: D523: Billiton Exploration

tool: D71: CRA Exploration Pty Ltd

tool: D246: Geopeko

tool: D25: MIM Exploration Pty Ltd

tool: D159: Newcrest Mining Limited

tool: D26: Pasminco Exploration

tool: D295: RGC Exploration Pty Ltd

tool: D138: RTZ Ltd

tool: D264: Sumitomo Metal Mining Oceania

tool: D20: Western Mining Corporation Ltd

tool: D178: LaTrobe University

tool: D153: Melbourne University

tool: D209: CSIRO DIT

tool: D122: CSIRO DEM

tool: D489: L Harris: UWA

tool: D192: P James: Adelaide Uni

tool: D325: R Holcombe: Uni of Queensland

tool: D371: N Mancktelow: ETH

tool: D212: W Means: SUNYA

tool: D334: M Lackie: Macquarie

tool: D386: K McClay: Royal Holloway

tool: D65: D DePaor: GWU

tool: D524: Unlimited Demostration

tool: D51: A Demostration

tool: D292: B Demostration

tool: D123: C Demostration

tool: D95: D Demostration

tool: D177: E Demostration

tool: D387: F Demostration

tool: D113: G Demostration

tool: D498: H Demostration

tool: D271: I Demostration

tool: D323: J Demostration

tool: D310: K Demostration

tool: D379: L Demostration

tool: D225: M Demostration

tool: D518: N Demostration

tool: D287: O Demostration

tool: D401: P Demostration

tool: D231: Q Demostration

tool: D374: R Demostration

tool: D34: S Demostration

tool: D32: T Demostration

tool: D335: U Demostration

tool: D105: V Demostration

tool: D251: W Demostration

tool: D142: X Demostration

tool: D21: 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);
}
```