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

```asm
<wordConvert>:
  endbr64
  push   %r15
  xor    %ecx,%ecx
  xor    %edx,%edx
  xor    %esi,%esi
  push   %r14
  lea    D216(%rip),%rdi
  push   %r13
  push   %r12
  push   %rbp
  lea    D35(%rip),%rbp
  push   %rbx
  sub    $0xe8,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,0xd8(%rsp)
  xor    %eax,%eax
  lea    0x50(%rsp),%r14
  movl   $0x0,0x48(%rsp)
  movl   $0x0,0x4c(%rsp)
  call   <printMessage@plt>
  mov    %r14,%rsi
  lea    D8(%rip),%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  xor    %ecx,%ecx
  xor    %edx,%edx
  xor    %esi,%esi
  lea    D58(%rip),%rdi
  call   <printMessage@plt>
  lea    0x48(%rsp),%rsi
  mov    %rbp,%rdi
  xor    %eax,%eax
  call   <scanf@plt>
  xor    %ecx,%ecx
  xor    %edx,%edx
  xor    %esi,%esi
  lea    D295(%rip),%rdi
  call   <printMessage@plt>
  xor    %eax,%eax
  lea    0x4c(%rsp),%rsi
  mov    %rbp,%rdi
  call   <scanf@plt>
  cmpl   $0x1,0x48(%rsp)
  jne    L712
  negl   0x4c(%rsp)
L712:
  mov    %r14,%rdi
  call   <strlen@plt>
  mov    %eax,%r12d
  test   %eax,%eax
  jle    L406
  lea    -0x1(%rax),%eax
  mov    %r14,%rbp
  mov    %r14,%rbx
  mov    %rax,%r15
  lea    0x51(%rsp,%rax,1),%r13
  nopl   0x0(%rax,%rax,1)
L610:
  movsbl (%rbx),%edi
  add    $0x1,%rbx
  call   <toupper@plt>
  mov    %al,-0x1(%rbx)
  cmp    %rbx,%r13
  jne    L610
  mov    0x4c(%rsp),%edx
  cmp    $0xe,%r15d
  jbe    L801
  mov    %r12d,%eax
  movdqa D317(%rip),%xmm0
  movd   %edx,%xmm2
  psubd  D28(%rip),%xmm0
  shr    $0x4,%eax
  pshufd $0x0,%xmm2,%xmm2
  sub    $0x1,%eax
  movaps %xmm2,0x30(%rsp)
  shl    $0x4,%rax
  movaps %xmm0,(%rsp)
  lea    0x10(%r14,%rax,1),%rax
  cs nopw 0x0(%rax,%rax,1)
L233:
  pxor   %xmm0,%xmm0
  movdqa 0x0(%rbp),%xmm2
  movdqa 0x0(%rbp),%xmm1
  add    $0x10,%rbp
  pcmpgtb -0x10(%rbp),%xmm0
  movdqa 0x30(%rsp),%xmm12
  movdqa D334(%rip),%xmm11
  movdqa D334(%rip),%xmm5
  movdqa (%rsp),%xmm14
  movdqa D171(%rip),%xmm3
  movdqa D171(%rip),%xmm10
  punpcklbw %xmm0,%xmm2
  punpckhbw %xmm0,%xmm1
  pxor   %xmm0,%xmm0
  movdqa D334(%rip),%xmm4
  pcmpgtw %xmm2,%xmm0
  movdqa %xmm2,%xmm7
  movdqa %xmm1,%xmm6
  movdqa D171(%rip),%xmm9
  movdqa D171(%rip),%xmm8
  punpcklwd %xmm0,%xmm7
  punpckhwd %xmm0,%xmm2
  pxor   %xmm0,%xmm0
  paddd  %xmm12,%xmm7
  paddd  %xmm12,%xmm2
  pcmpgtw %xmm1,%xmm0
  paddd  %xmm7,%xmm11
  paddd  %xmm2,%xmm5
  psubd  D28(%rip),%xmm11
  psubd  D28(%rip),%xmm5
  paddd  %xmm2,%xmm3
  paddd  %xmm7,%xmm10
  punpcklwd %xmm0,%xmm6
  pcmpgtd %xmm14,%xmm11
  pcmpgtd %xmm14,%xmm5
  movdqa %xmm3,%xmm15
  punpckhwd %xmm0,%xmm1
  paddd  %xmm12,%xmm6
  movdqa %xmm12,%xmm14
  movdqa D334(%rip),%xmm0
  paddd  %xmm12,%xmm1
  paddd  %xmm6,%xmm9
  movdqa %xmm11,%xmm13
  pand   %xmm5,%xmm15
  pand   %xmm10,%xmm11
  movaps %xmm13,0x10(%rsp)
  pandn  %xmm12,%xmm13
  paddd  %xmm6,%xmm0
  psubd  D28(%rip),%xmm0
  por    %xmm11,%xmm13
  movdqa %xmm15,%xmm11
  movdqa %xmm5,%xmm15
  pandn  %xmm12,%xmm15
  paddd  %xmm1,%xmm4
  paddd  %xmm1,%xmm8
  por    %xmm11,%xmm15
  movdqa (%rsp),%xmm11
  psubd  D28(%rip),%xmm4
  pcmpgtd %xmm11,%xmm0
  pcmpgtd %xmm11,%xmm4
  movdqa %xmm0,%xmm12
  movdqa %xmm4,%xmm11
  pand   %xmm9,%xmm0
  movaps %xmm12,0x20(%rsp)
  pandn  %xmm14,%xmm12
  pandn  %xmm14,%xmm11
  por    %xmm0,%xmm12
  movdqa %xmm8,%xmm0
  movdqa %xmm11,%xmm14
  pand   %xmm4,%xmm0
  por    %xmm0,%xmm14
  movdqa %xmm7,%xmm0
  pcmpgtd D90(%rip),%xmm0
  movdqa %xmm0,%xmm11
  pand   %xmm0,%xmm10
  pandn  %xmm13,%xmm11
  por    %xmm10,%xmm11
  movdqa %xmm2,%xmm10
  pcmpgtd D90(%rip),%xmm10
  movdqa %xmm10,%xmm13
  pand   %xmm10,%xmm3
  pandn  %xmm15,%xmm10
  por    %xmm3,%xmm10
  movdqa %xmm6,%xmm3
  pcmpgtd D90(%rip),%xmm3
  movdqa %xmm3,%xmm15
  pand   %xmm3,%xmm9
  pandn  %xmm12,%xmm15
  por    %xmm15,%xmm9
  movdqa %xmm1,%xmm15
  pcmpgtd D90(%rip),%xmm15
  movdqa %xmm15,%xmm12
  movdqa %xmm8,%xmm15
  movdqa %xmm12,%xmm8
  pand   %xmm12,%xmm15
  pandn  %xmm14,%xmm8
  movdqa D311(%rip),%xmm14
  por    %xmm15,%xmm8
  paddd  %xmm7,%xmm14
  pcmpgtd D6(%rip),%xmm7
  movdqa %xmm7,%xmm15
  movdqa %xmm11,%xmm7
  movdqa %xmm15,%xmm11
  pand   %xmm15,%xmm7
  pandn  %xmm14,%xmm11
  por    %xmm7,%xmm11
  movdqa D311(%rip),%xmm7
  paddd  %xmm2,%xmm7
  pcmpgtd D6(%rip),%xmm2
  movdqa %xmm2,%xmm14
  pand   %xmm2,%xmm10
  pandn  %xmm7,%xmm14
  movdqa D311(%rip),%xmm7
  por    %xmm10,%xmm14
  paddd  %xmm6,%xmm7
  pcmpgtd D6(%rip),%xmm6
  movdqa %xmm6,%xmm10
  movdqa %xmm9,%xmm6
  movdqa %xmm10,%xmm9
  pand   %xmm10,%xmm6
  pandn  %xmm7,%xmm9
  por    %xmm6,%xmm9
  movdqa D311(%rip),%xmm6
  paddd  %xmm1,%xmm6
  pcmpgtd D6(%rip),%xmm1
  movdqa %xmm1,%xmm7
  pand   %xmm1,%xmm8
  pandn  %xmm6,%xmm7
  pxor   %xmm6,%xmm6
  por    %xmm8,%xmm7
  pcmpeqd 0x10(%rsp),%xmm6
  pxor   %xmm8,%xmm8
  pcmpeqd %xmm8,%xmm5
  movdqa %xmm6,%xmm8
  punpcklwd %xmm5,%xmm6
  punpckhwd %xmm5,%xmm8
  movdqa %xmm6,%xmm5
  punpcklwd %xmm8,%xmm6
  punpckhwd %xmm8,%xmm5
  pxor   %xmm8,%xmm8
  punpcklwd %xmm5,%xmm6
  pxor   %xmm5,%xmm5
  pand   D61(%rip),%xmm6
  pcmpeqd %xmm8,%xmm4
  pcmpeqd 0x20(%rsp),%xmm5
  movdqa %xmm5,%xmm8
  punpcklwd %xmm4,%xmm5
  punpckhwd %xmm4,%xmm8
  movdqa %xmm5,%xmm4
  punpckhwd %xmm8,%xmm4
  punpcklwd %xmm8,%xmm5
  punpcklwd %xmm4,%xmm5
  pand   D61(%rip),%xmm5
  packuswb %xmm5,%xmm6
  movdqa -0x10(%rbp),%xmm5
  pand   %xmm6,%xmm5
  pandn  D76(%rip),%xmm6
  por    %xmm5,%xmm6
  movdqa %xmm0,%xmm5
  punpcklwd %xmm13,%xmm0
  punpckhwd %xmm13,%xmm5
  movdqa %xmm5,%xmm4
  movdqa %xmm0,%xmm5
  punpckhwd %xmm4,%xmm5
  punpcklwd %xmm4,%xmm0
  punpcklwd %xmm5,%xmm0
  movdqa %xmm3,%xmm5
  punpcklwd %xmm12,%xmm3
  punpckhwd %xmm12,%xmm5
  pand   D61(%rip),%xmm0
  movdqa %xmm5,%xmm4
  movdqa %xmm3,%xmm5
  punpckhwd %xmm4,%xmm5
  punpcklwd %xmm4,%xmm3
  pxor   %xmm4,%xmm4
  pcmpeqd %xmm4,%xmm2
  pcmpeqd %xmm4,%xmm15
  punpcklwd %xmm5,%xmm3
  pand   D61(%rip),%xmm3
  pcmpeqd %xmm4,%xmm1
  pcmpeqd %xmm4,%xmm10
  packuswb %xmm3,%xmm0
  movdqa D76(%rip),%xmm3
  pand   %xmm0,%xmm3
  pandn  %xmm6,%xmm0
  por    %xmm3,%xmm0
  movdqa %xmm15,%xmm3
  punpcklwd %xmm2,%xmm15
  punpckhwd %xmm2,%xmm3
  movdqa %xmm15,%xmm2
  punpckhwd %xmm3,%xmm2
  punpcklwd %xmm3,%xmm15
  punpcklwd %xmm2,%xmm15
  movdqa %xmm10,%xmm2
  punpcklwd %xmm1,%xmm10
  pand   D61(%rip),%xmm15
  punpckhwd %xmm1,%xmm2
  movdqa %xmm10,%xmm1
  punpckhwd %xmm2,%xmm1
  punpcklwd %xmm2,%xmm10
  punpcklwd %xmm1,%xmm10
  movdqa D159(%rip),%xmm1
  pand   D61(%rip),%xmm10
  packuswb %xmm10,%xmm15
  pand   %xmm15,%xmm1
  pandn  %xmm0,%xmm15
  movdqa %xmm11,%xmm0
  punpcklwd %xmm14,%xmm11
  punpckhwd %xmm14,%xmm0
  por    %xmm1,%xmm15
  movdqa %xmm11,%xmm1
  punpcklwd %xmm0,%xmm11
  punpckhwd %xmm0,%xmm1
  movdqa %xmm9,%xmm0
  punpcklwd %xmm7,%xmm9
  punpcklwd %xmm1,%xmm11
  punpckhwd %xmm7,%xmm0
  movdqa %xmm9,%xmm1
  punpckhwd %xmm0,%xmm1
  punpcklwd %xmm0,%xmm9
  pand   D61(%rip),%xmm11
  punpcklwd %xmm1,%xmm9
  pand   D61(%rip),%xmm9
  packuswb %xmm9,%xmm11
  paddb  %xmm15,%xmm11
  movaps %xmm11,-0x10(%rbp)
  cmp    %rax,%rbp
  jne    L233
  mov    %r12d,%eax
  and    $0xfffffff0,%eax
  test   $0xf,%r12b
  je     L406
L228:
  movslq %eax,%rdi
  movsbl 0x50(%rsp,%rdi,1),%ecx
  mov    %ecx,%esi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L184
  cmp    $0x5a,%ecx
  jle    L780
  sub    $0x5b,%ecx
  mov    $0x41,%esi
L635:
  add    %ecx,%esi
  lea    0x1(%rax),%ecx
  mov    %sil,0x50(%rsp,%rdi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L470
  cmp    $0x5a,%ecx
  jle    L688
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L282:
  add    %ecx,%edi
  lea    0x2(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L301
  cmp    $0x5a,%ecx
  jle    L114
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L218:
  add    %ecx,%edi
  lea    0x3(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L328
  cmp    $0x5a,%ecx
  jle    L257
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L655:
  add    %ecx,%edi
  lea    0x4(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L452
  cmp    $0x5a,%ecx
  jle    L516
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L190:
  add    %ecx,%edi
  lea    0x5(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L221
  cmp    $0x5a,%ecx
  jle    L526
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L420:
  add    %ecx,%edi
  lea    0x6(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L384
  cmp    $0x5a,%ecx
  jle    L55
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L24:
  add    %ecx,%edi
  lea    0x7(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L488
  cmp    $0x5a,%ecx
  jle    L344
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L84:
  add    %ecx,%edi
  lea    0x8(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L507
  cmp    $0x5a,%ecx
  jle    L456
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L496:
  add    %ecx,%edi
  lea    0x9(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L445
  cmp    $0x5a,%ecx
  jle    L258
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L671:
  add    %ecx,%edi
  lea    0xa(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L721
  cmp    $0x5a,%ecx
  jle    L619
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L592:
  add    %ecx,%edi
  lea    0xb(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L173
  cmp    $0x5a,%ecx
  jle    L741
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L289:
  add    %ecx,%edi
  lea    0xc(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L276
  cmp    $0x5a,%ecx
  jle    L179
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L785:
  add    %ecx,%edi
  lea    0xd(%rax),%ecx
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %ecx,%r12d
  jle    L406
  movslq %ecx,%rsi
  movsbl 0x50(%rsp,%rsi,1),%ecx
  mov    %ecx,%edi
  add    %edx,%ecx
  cmp    $0x40,%ecx
  jle    L523
  cmp    $0x5a,%ecx
  jle    L261
  sub    $0x5b,%ecx
  mov    $0x41,%edi
L524:
  add    %ecx,%edi
  add    $0xe,%eax
  mov    %dil,0x50(%rsp,%rsi,1)
  cmp    %eax,%r12d
  jle    L406
  cltq
  movsbl 0x50(%rsp,%rax,1),%esi
  mov    %esi,%ecx
  add    %edx,%esi
  cmp    $0x40,%esi
  jg     L730
  lea    -0x40(%rsi),%edx
  mov    $0x5a,%ecx
L727:
  add    %edx,%ecx
  mov    %cl,0x50(%rsp,%rax,1)
  nopl   0x0(%rax)
L406:
  xor    %ecx,%ecx
  xor    %edx,%edx
  mov    $0x1,%esi
  mov    %r14,%rdi
  call   <printMessage@plt>
  mov    0xd8(%rsp),%rax
  sub    %fs:0x28,%rax
  jne    L621
  add    $0xe8,%rsp
  pop    %rbx
  pop    %rbp
  pop    %r12
  pop    %r13
  pop    %r14
  pop    %r15
  ret
  nopw   0x0(%rax,%rax,1)
L184:
  sub    $0x40,%ecx
  mov    $0x5a,%esi
  jmp    L635
  nopl   (%rax)
L470:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L282
  nopl   (%rax)
L301:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L218
  nopl   (%rax)
L328:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L655
  nopl   (%rax)
L452:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L190
  nopl   (%rax)
L221:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L420
  nopl   (%rax)
L384:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L24
  nopl   (%rax)
L488:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L84
  nopl   (%rax)
L507:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L496
  nopl   (%rax)
L445:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L671
  nopl   (%rax)
L721:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L592
  nopl   (%rax)
L173:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L289
  nopl   (%rax)
L276:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L785
  nopl   (%rax)
L523:
  sub    $0x40,%ecx
  mov    $0x5a,%edi
  jmp    L524
L801:
  xor    %eax,%eax
  jmp    L228
L730:
  cmp    $0x5a,%esi
  jle    L727
  lea    -0x5b(%rsi),%edx
  mov    $0x41,%ecx
  jmp    L727
L344:
  mov    %edx,%ecx
  jmp    L84
L114:
  mov    %edx,%ecx
  jmp    L218
L257:
  mov    %edx,%ecx
  jmp    L655
L516:
  mov    %edx,%ecx
  jmp    L190
L526:
  mov    %edx,%ecx
  jmp    L420
L780:
  mov    %edx,%ecx
  jmp    L635
L688:
  mov    %edx,%ecx
  jmp    L282
L55:
  mov    %edx,%ecx
  jmp    L24
L621:
  call   <__stack_chk_fail@plt>
L261:
  mov    %edx,%ecx
  jmp    L524
L179:
  mov    %edx,%ecx
  jmp    L785
L741:
  mov    %edx,%ecx
  jmp    L289
L619:
  mov    %edx,%ecx
  jmp    L592
L258:
  mov    %edx,%ecx
  jmp    L671
L456:
  mov    %edx,%ecx
  jmp    L496
```

tool_calls: name: unpack_data
arguments: label: D216
datatype: string
name: unpack_data
arguments: label: D35
datatype: string
name: unpack_data
arguments: label: D8
datatype: string
name: unpack_data
arguments: label: D58
datatype: string
name: unpack_data
arguments: label: D295
datatype: string
name: unpack_data
arguments: label: D317
datatype: byte[16]
name: unpack_data
arguments: label: D28
datatype: byte[16]
name: unpack_data
arguments: label: D334
datatype: byte[16]
name: unpack_data
arguments: label: D171
datatype: byte[16]
name: unpack_data
arguments: label: D90
datatype: byte[16]
name: unpack_data
arguments: label: D311
datatype: byte[16]
name: unpack_data
arguments: label: D6
datatype: byte[16]
name: unpack_data
arguments: label: D61
datatype: byte[16]
name: unpack_data
arguments: label: D76
datatype: byte[16]
name: unpack_data
arguments: label: D159
datatype: byte[16]

tool: D216: Word to Encrypt or Decrypt? 

tool: D35:  %d

tool: D8:  %s

tool: D58: Encrypt (0) or Decrypt (1)?

tool: D295: Encrypt Key?

tool: {"D317": [0x19,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x19,0x00,0x00,0x00,0x19,0x00,0x00,0x00]}

tool: {"D28": [0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80,0x00,0x00,0x00,0x80]}

tool: {"D334": [0xbf,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xbf,0xff,0xff,0xff,0xbf,0xff,0xff,0xff]}

tool: {"D171": [0xa5,0xff,0xff,0xff,0xa5,0xff,0xff,0xff,0xa5,0xff,0xff,0xff,0xa5,0xff,0xff,0xff]}

tool: {"D90": [0x5a,0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0x5a,0x00,0x00,0x00,0x5a,0x00,0x00,0x00]}

tool: {"D311": [0xc0,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xc0,0xff,0xff,0xff,0xc0,0xff,0xff,0xff]}

tool: {"D6": [0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00,0x40,0x00,0x00,0x00]}

tool: {"D61": [0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00,0xff,0x00]}

tool: {"D76": [0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41]}

tool: {"D159": [0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a,0x5a]}

assistant: ```c
void wordConvert(void) {
  char word[128];
  int isEncrypt = 0, encryptValue = 0, wordLength = 0, i = 0, tempKey = 0, newValue = 0;
  printMessage("Word to Encrypt or Decrypt? ", 0, 0, 0);
  scanf(" %s", &word);
  printMessage("Encrypt (0) or Decrypt (1)?", 0, 0, 0);
  scanf(" %d", &isEncrypt);
  printMessage("Encrypt Key?", 0, 0, 0);
  scanf(" %d", &encryptValue);
  if (isEncrypt == 1) {
    encryptValue = -encryptValue;
  }
  wordLength = strlen(word);
  for (i = 0; i < wordLength; i++) {
    word[i] = toupper(word[i]);
  }
  for (i = 0; i < wordLength; i++) {
    tempKey = encryptValue;
    newValue = (int)word[i] + tempKey;
    if (newValue < 65) {
      tempKey = (newValue - 65) + 1;
      word[i] = 'Z';
    }
    if (newValue > 90) {
      tempKey = (newValue - 90) - 1;
      word[i] = 'A';
    }
    word[i] = (char)((int)word[i] + tempKey);
  }
  printMessage(word, 1, 0, 0);
}
```