user: 请将以下的汇编代码转换成C语言代码：

```asm
<getSettingFromGConfInto>:
  endbr64
  push   %r14
  xor    %eax,%eax
  mov    %edx,%r14d
  push   %r13
  mov    %rsi,%r13
  push   %r12
  mov    %rdi,%r12
  push   %rbp
  push   %rbx
  call   <get_client@plt>
  xor    %edx,%edx
  lea    D22(%rip),%rsi
  mov    %rax,%rdi
  mov    %rax,%rbp
  call   <get_bool@plt>
  test   %rax,%rax
  jne    L14
  xor    %edx,%edx
  lea    D175(%rip),%rsi
  mov    %rbp,%rdi
  call   <get_string@plt>
  lea    D0(%rip),%rdi
  mov    %eax,%esi
  call   <strcmp@plt>
  test   %eax,%eax
  jne    L39
L14:
  xor    %edx,%edx
  lea    D6(%rip),%rsi
  mov    %rbp,%rdi
  call   <get_bool@plt>
  test   %rax,%rax
  jne    L19
  sub    $0x8,%rsp
  mov    %r14d,%ecx
  mov    %r13,%rdx
  mov    %r12,%rsi
  lea    D199(%rip),%rax
  lea    D105(%rip),%r9
  mov    %rbp,%rdi
  push   %rax
  lea    D88(%rip),%r8
  call   <checkGConfAndFill@plt>
  mov    %r14d,%ecx
  mov    %r13,%rdx
  mov    %r12,%rsi
  lea    D221(%rip),%rax
  lea    D228(%rip),%r9
  mov    %rbp,%rdi
  lea    D184(%rip),%r8
  mov    %rax,(%rsp)
  call   <checkGConfAndFill@plt>
  mov    %r14d,%ecx
  mov    %r13,%rdx
  mov    %r12,%rsi
  lea    D233(%rip),%rax
  lea    D24(%rip),%r9
  mov    %rbp,%rdi
  lea    D23(%rip),%r8
  mov    %rax,(%rsp)
  call   <checkGConfAndFill@plt>
  lea    D138(%rip),%rax
  lea    D209(%rip),%r9
  mov    %rax,(%rsp)
L28:
  mov    %r13,%rdx
  lea    D70(%rip),%r8
  mov    %r14d,%ecx
  mov    %r12,%rsi
  mov    %rbp,%rdi
  call   <checkGConfAndFill@plt>
  pop    %rax
  pop    %rdx
L39:
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  ret
  nopw   0x0(%rax,%rax,1)
L19:
  sub    $0x8,%rsp
  mov    %r14d,%ecx
  mov    %r13,%rdx
  mov    %r12,%rsi
  lea    D199(%rip),%rbx
  lea    D105(%rip),%r9
  mov    %rbp,%rdi
  push   %rbx
  lea    D88(%rip),%r8
  call   <checkGConfAndFill@plt>
  mov    %r14d,%ecx
  mov    %r13,%rdx
  mov    %r12,%rsi
  lea    D105(%rip),%r9
  lea    D184(%rip),%r8
  mov    %rbp,%rdi
  mov    %rbx,(%rsp)
  call   <checkGConfAndFill@plt>
  mov    %r14d,%ecx
  mov    %r13,%rdx
  mov    %r12,%rsi
  lea    D105(%rip),%r9
  lea    D23(%rip),%r8
  mov    %rbp,%rdi
  mov    %rbx,(%rsp)
  call   <checkGConfAndFill@plt>
  mov    %rbx,(%rsp)
  lea    D105(%rip),%r9
  jmp    L28
```

tool_calls: name: extract_symbolic_data
arguments: tag: D22
type_guessed: string
name: extract_symbolic_data
arguments: tag: D175
type_guessed: string
name: extract_symbolic_data
arguments: tag: D0
type_guessed: string
name: extract_symbolic_data
arguments: tag: D6
type_guessed: string
name: extract_symbolic_data
arguments: tag: D199
type_guessed: string
name: extract_symbolic_data
arguments: tag: D105
type_guessed: string
name: extract_symbolic_data
arguments: tag: D88
type_guessed: string
name: extract_symbolic_data
arguments: tag: D221
type_guessed: string
name: extract_symbolic_data
arguments: tag: D228
type_guessed: string
name: extract_symbolic_data
arguments: tag: D184
type_guessed: string
name: extract_symbolic_data
arguments: tag: D233
type_guessed: string
name: extract_symbolic_data
arguments: tag: D24
type_guessed: string
name: extract_symbolic_data
arguments: tag: D23
type_guessed: string
name: extract_symbolic_data
arguments: tag: D138
type_guessed: string
name: extract_symbolic_data
arguments: tag: D209
type_guessed: string
name: extract_symbolic_data
arguments: tag: D70
type_guessed: string

tool: D22: /system/http_proxy/use_http_proxy

tool: D175: /system/proxy/mode

tool: D0: manual

tool: D6: /system/http_proxy/use_same_proxy

tool: D199: /system/http_proxy/port

tool: D105: /system/http_proxy/host

tool: D88: HTTP

tool: D221: /system/proxy/secure_port

tool: D228: /system/proxy/secure_host

tool: D184: HTTPS

tool: D233: /system/proxy/ftp_port

tool: D24: /system/proxy/ftp_host

tool: D23: FTP

tool: D138: /system/proxy/socks_port

tool: D209: /system/proxy/socks_host

tool: D70: SOCKS

assistant: ```c
void getSettingFromGConfInto(char *string_to_fill, char *key, int key_length) {
  void *client = get_client();
  if (!get_bool(client, "/system/http_proxy/use_http_proxy", NULL) && !!strcmp("manual", get_string(client, "/system/proxy/mode", NULL))) {
    return;
  }
  if (get_bool(client, "/system/http_proxy/use_same_proxy", NULL)) {
    checkGConfAndFill(client, string_to_fill, key, key_length, "HTTP", "/system/http_proxy/host", "/system/http_proxy/port");
    checkGConfAndFill(client, string_to_fill, key, key_length, "HTTPS", "/system/http_proxy/host", "/system/http_proxy/port");
    checkGConfAndFill(client, string_to_fill, key, key_length, "FTP", "/system/http_proxy/host", "/system/http_proxy/port");
    checkGConfAndFill(client, string_to_fill, key, key_length, "SOCKS", "/system/http_proxy/host", "/system/http_proxy/port");
  } else {
    checkGConfAndFill(client, string_to_fill, key, key_length, "HTTP", "/system/http_proxy/host", "/system/http_proxy/port");
    checkGConfAndFill(client, string_to_fill, key, key_length, "HTTPS", "/system/proxy/secure_host", "/system/proxy/secure_port");
    checkGConfAndFill(client, string_to_fill, key, key_length, "FTP", "/system/proxy/ftp_host", "/system/proxy/ftp_port");
    checkGConfAndFill(client, string_to_fill, key, key_length, "SOCKS", "/system/proxy/socks_host", "/system/proxy/socks_port");
  }
}
```