user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<terminalName>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  movzbl D147(%rip),%eax
  cmp    $0x2a,%al
  jne    L861
  mov    $0x0,%eax
  call   <isDarwin@plt>
  test   %rax,%rax
  je     L391
  lea    D1810(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L37
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L37
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L37:
  lea    D679(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  jmp    L861
L391:
  lea    D140(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L1100
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L1100
  lea    D754(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L1100:
  lea    D1177(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L336
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L336
  lea    D754(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L336:
  lea    D13(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L197
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L197
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L197:
  lea    D1772(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L275
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L275
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L275:
  lea    D468(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L5
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L5
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L5:
  lea    D555(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L12
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L12
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L12:
  lea    D1164(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L418
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L418
  lea    D754(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L418:
  lea    D225(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L230
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L230
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L230:
  lea    D635(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L665
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L665
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L665:
  lea    D546(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L55
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L55
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L55:
  lea    D28(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L403
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L403
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L403:
  lea    D1840(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L364
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L364
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L364:
  lea    D533(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L252
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L252
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L252:
  lea    D1852(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L701
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L701
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L701:
  lea    D289(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L286
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L286
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L286:
  lea    D213(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L980
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L980
  lea    D1576(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L980:
  lea    D697(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L282
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L282
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L282:
  lea    D1690(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L1037
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L1037
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L1037:
  lea    D425(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L1105
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L1105
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L1105:
  lea    D1125(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L136
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L136
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L136:
  lea    D641(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L810
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L810
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L810:
  lea    D195(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L629
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L629
  lea    D754(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L629:
  lea    D11(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L333
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L333
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L333:
  lea    D163(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L21
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L21
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L21:
  lea    D1725(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L502
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L502
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L502:
  lea    D399(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L385
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L385
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L385:
  lea    D541(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L710
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L710
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L710:
  lea    D969(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L581
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L581
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L581:
  lea    D274(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L864
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L864
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L864:
  lea    D653(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L307
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L307
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L307:
  lea    D1263(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L57
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L57
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L57:
  lea    D76(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L371
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L371
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L371:
  lea    D366(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L60
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L60
  lea    D1632(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L60:
  lea    D424(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L118
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L118
  lea    D754(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L118:
  lea    D659(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
  test   %rax,%rax
  je     L228
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <detectPresence@plt>
  test   %rax,%rax
  je     L228
  lea    D754(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcat@plt>
  jmp    L861
L228:
  lea    D679(%rip),%rax
  mov    %rax,%rsi
  lea    D147(%rip),%rax
  mov    %rax,%rdi
  call   <strcpy@plt>
L861:
  lea    D147(%rip),%rax
  movzbl (%rax),%eax
  test   %al,%al
  je     L1101
  lea    D147(%rip),%rax
  jmp    L302
L1101:
  mov    $0x0,%eax
L302:
  pop    %rbp
  ret
```

tool_calls: name: read_data
arguments: tag: D1810
datatype: string
name: read_data
arguments: tag: D1632
datatype: string
name: read_data
arguments: tag: D679
datatype: string
name: read_data
arguments: tag: D140
datatype: string
name: read_data
arguments: tag: D754
datatype: string
name: read_data
arguments: tag: D1177
datatype: string
name: read_data
arguments: tag: D13
datatype: string
name: read_data
arguments: tag: D1772
datatype: string
name: read_data
arguments: tag: D468
datatype: string
name: read_data
arguments: tag: D555
datatype: string
name: read_data
arguments: tag: D1164
datatype: string
name: read_data
arguments: tag: D225
datatype: string
name: read_data
arguments: tag: D635
datatype: string
name: read_data
arguments: tag: D546
datatype: string
name: read_data
arguments: tag: D28
datatype: string
name: read_data
arguments: tag: D1840
datatype: string
name: read_data
arguments: tag: D533
datatype: string
name: read_data
arguments: tag: D1852
datatype: string
name: read_data
arguments: tag: D289
datatype: string
name: read_data
arguments: tag: D213
datatype: string
name: read_data
arguments: tag: D1576
datatype: string
name: read_data
arguments: tag: D697
datatype: string
name: read_data
arguments: tag: D1690
datatype: string
name: read_data
arguments: tag: D425
datatype: string
name: read_data
arguments: tag: D1125
datatype: string
name: read_data
arguments: tag: D641
datatype: string
name: read_data
arguments: tag: D195
datatype: string
name: read_data
arguments: tag: D11
datatype: string
name: read_data
arguments: tag: D163
datatype: string
name: read_data
arguments: tag: D1725
datatype: string
name: read_data
arguments: tag: D399
datatype: string
name: read_data
arguments: tag: D541
datatype: string
name: read_data
arguments: tag: D969
datatype: string
name: read_data
arguments: tag: D274
datatype: string
name: read_data
arguments: tag: D653
datatype: string
name: read_data
arguments: tag: D1263
datatype: string
name: read_data
arguments: tag: D76
datatype: string
name: read_data
arguments: tag: D366
datatype: string
name: read_data
arguments: tag: D424
datatype: string
name: read_data
arguments: tag: D659
datatype: string

tool: D1810: /opt/X11/bin/xterm

tool: D1632:  -e bash -c 

tool: 

tool: D140: terminator

tool: D754:  -x bash -c 

tool: D1177: xfce4-terminal

tool: D13: xterm

tool: D1772: konsole

tool: D468: uterm

tool: D555: lxterminal

tool: D1164: Terminal

tool: D225: rxvt

tool: D635: urxvt

tool: D546: mrxvt

tool: D28: wterm

tool: D1840: eterm

tool: D533: aterm

tool: D1852: terminology

tool: D289: hpterm

tool: D213: winterm

tool: D1576:  -c bash -c 

tool: D697: roxterm

tool: D1690: st

tool: D425: sakura

tool: D1125: mlterm

tool: D641: vte

tool: D195: lilyterm

tool: D11: dtterm

tool: D163: nxterm

tool: D1725: pterm

tool: D399: xgterm

tool: D541: evilvte

tool: D969: kterm

tool: D274: xiterm

tool: D653: termit

tool: D1263: xvt

tool: D76: vala-terminal

tool: D366: osso-xterm

tool: D424: multi-gnome-terminal

tool: D659: gnome-terminal

assistant: ```c
char const *terminalName() {
  static char lTerminalName[64] = "*";
  if (lTerminalName[0] == '*') {
    if (isDarwin()) {
      if (strcpy(lTerminalName, "/opt/X11/bin/xterm") && detectPresence(lTerminalName)) {
        strcat(lTerminalName, " -e bash -c ");
      } else {
        strcpy(lTerminalName, "");
      }
    } else if (strcpy(lTerminalName, "terminator") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -x bash -c ");
    } else if (strcpy(lTerminalName, "xfce4-terminal") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -x bash -c ");
    } else if (strcpy(lTerminalName, "xterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "konsole") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "uterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "lxterminal") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "Terminal") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -x bash -c ");
    } else if (strcpy(lTerminalName, "rxvt") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "urxvt") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "mrxvt") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "wterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "eterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "aterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "terminology") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "hpterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "winterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -c bash -c ");
    } else if (strcpy(lTerminalName, "roxterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "st") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "sakura") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "mlterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "vte") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "lilyterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -x bash -c ");
    } else if (strcpy(lTerminalName, "dtterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "nxterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "pterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "xgterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "evilvte") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "kterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "xiterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "termit") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "xvt") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "vala-terminal") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "osso-xterm") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -e bash -c ");
    } else if (strcpy(lTerminalName, "multi-gnome-terminal") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -x bash -c ");
    } else if (strcpy(lTerminalName, "gnome-terminal") && detectPresence(lTerminalName)) {
      strcat(lTerminalName, " -x bash -c ");
    } else {
      strcpy(lTerminalName, "");
    }
  }
  if (strlen(lTerminalName)) {
    return lTerminalName;
  } else {
    return NULL;
  }
}
```