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

```asm
<comm_bit_name>:
  endbr64
  push   %rbx
  mov    %edi,%ebx
  movb   $0x0,D68(%rip)
  test   $0x1,%dil
  jne    L245
L352:
  test   $0x2,%bl
  jne    L372
L249:
  test   $0x4,%bl
  jne    L141
L127:
  test   $0x8,%bl
  jne    L104
L130:
  test   $0x10,%bl
  jne    L157
L110:
  test   $0x800000,%ebx
  jne    L200
L9:
  test   $0x10000000,%ebx
  jne    L381
L125:
  test   $0x20,%bl
  jne    L359
L16:
  test   $0x40,%bl
  jne    L334
L293:
  test   $0x1,%bh
  jne    L132
L289:
  test   $0x8,%bh
  jne    L385
L77:
  test   $0x10,%bh
  jne    L335
L346:
  test   $0x4000000,%ebx
  jne    L18
L301:
  test   $0x8000000,%ebx
  jne    L402
L355:
  test   $0x20,%bh
  jne    L236
L349:
  test   $0x40,%bh
  jne    L374
L173:
  test   $0x80000,%ebx
  jne    L109
L230:
  test   $0x100000,%ebx
  jne    L31
L116:
  test   $0x200000,%ebx
  jne    L282
L94:
  test   $0x400000,%ebx
  jne    L280
L76:
  test   $0x4,%bh
  jne    L223
L283:
  cmpb   $0x0,D68(%rip)
  lea    D324(%rip),%rax
  lea    D377(%rip),%rdx
  cmove  %rdx,%rax
  pop    %rbx
  ret
L245:
  lea    D443(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L352
L372:
  lea    D219(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L249
L141:
  lea    D254(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L127
L104:
  lea    D391(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L130
L157:
  lea    D357(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L110
L200:
  lea    D159(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L9
L381:
  lea    D55(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L125
L359:
  lea    D211(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L16
L334:
  lea    D206(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L293
L132:
  lea    D25(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L289
L385:
  lea    D240(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L77
L335:
  lea    D82(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L346
L18:
  lea    D282(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L301
L402:
  lea    D378(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L355
L236:
  lea    D46(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L349
L374:
  lea    D97(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L173
L109:
  lea    D351(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L230
L31:
  lea    D174(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L116
L282:
  lea    D435(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L94
L280:
  lea    D291(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L76
L223:
  lea    D333(%rip),%rsi
  lea    D68(%rip),%rdi
  call   <strcat@plt>
  jmp    L283
```

tool_calls: name: parse_data
arguments: data_label: D377
type: string
name: parse_data
arguments: data_label: D443
type: string
name: parse_data
arguments: data_label: D219
type: string
name: parse_data
arguments: data_label: D254
type: string
name: parse_data
arguments: data_label: D391
type: string
name: parse_data
arguments: data_label: D357
type: string
name: parse_data
arguments: data_label: D159
type: string
name: parse_data
arguments: data_label: D55
type: string
name: parse_data
arguments: data_label: D211
type: string
name: parse_data
arguments: data_label: D206
type: string
name: parse_data
arguments: data_label: D25
type: string
name: parse_data
arguments: data_label: D240
type: string
name: parse_data
arguments: data_label: D82
type: string
name: parse_data
arguments: data_label: D282
type: string
name: parse_data
arguments: data_label: D378
type: string
name: parse_data
arguments: data_label: D46
type: string
name: parse_data
arguments: data_label: D97
type: string
name: parse_data
arguments: data_label: D351
type: string
name: parse_data
arguments: data_label: D174
type: string
name: parse_data
arguments: data_label: D435
type: string
name: parse_data
arguments: data_label: D291
type: string
name: parse_data
arguments: data_label: D333
type: string

tool: D377: none

tool: D443:  quiet

tool: D219:  deaf

tool: D254:  no_wiz

tool: D391:  no_auction

tool: D357:  no_ooc

tool: D159:  no_cgossip

tool: D55:  no_qgossip

tool: D211:  no_ask

tool: D206:  no_music

tool: D25:  no_quote

tool: D240:  compact

tool: D82:  brief

tool: D282:  long

tool: D378:  autostore

tool: D46:  prompt

tool: D97:  combine

tool: D351:  no_emote

tool: D174:  no_shout

tool: D435:  no_tell

tool: D291:  no_channels

tool: D333:  no_arena

assistant: ```c
char *comm_bit_name(int comm_flags) {
  static char buf[512];
  buf[0] = '\0';
  if (comm_flags & (1))
    strcat(buf, " quiet");
  if (comm_flags & (2))
    strcat(buf, " deaf");
  if (comm_flags & (4))
    strcat(buf, " no_wiz");
  if (comm_flags & (8))
    strcat(buf, " no_auction");
  if (comm_flags & (16))
    strcat(buf, " no_ooc");
  if (comm_flags & (8388608))
    strcat(buf, " no_cgossip");
  if (comm_flags & (268435456))
    strcat(buf, " no_qgossip");
  if (comm_flags & (32))
    strcat(buf, " no_ask");
  if (comm_flags & (64))
    strcat(buf, " no_music");
  if (comm_flags & (256))
    strcat(buf, " no_quote");
  if (comm_flags & (2048))
    strcat(buf, " compact");
  if (comm_flags & (4096))
    strcat(buf, " brief");
  if (comm_flags & (67108864))
    strcat(buf, " long");
  if (comm_flags & (134217728))
    strcat(buf, " autostore");
  if (comm_flags & (8192))
    strcat(buf, " prompt");
  if (comm_flags & (16384))
    strcat(buf, " combine");
  if (comm_flags & (524288))
    strcat(buf, " no_emote");
  if (comm_flags & (1048576))
    strcat(buf, " no_shout");
  if (comm_flags & (2097152))
    strcat(buf, " no_tell");
  if (comm_flags & (4194304))
    strcat(buf, " no_channels");
  if (comm_flags & (1024))
    strcat(buf, " no_arena");
  return (buf[0] != '\0') ? buf + 1 : "none";
}
```