user: 下面的汇编指令对应的C源代码是什么:

```asm
<BitStream_writeBytes>:
  endbr64
  test   %rsi,%rsi
  je     L14
  mov    %rsi,%r9
  lea    (%rdi,%rsi,8),%rsi
  mov    %rdx,%rcx
  lea    (%rdx,%r9,1),%r8
  cmp    %r8,%rdi
  setae  %al
  cmp    %rsi,%rdx
  setae  %dl
  or     %dl,%al
  je     L67
  lea    -0x1(%r9),%rax
  cmp    $0xe,%rax
  jbe    L67
  mov    %r9,%r10
  sub    $0x710,%rsp
  mov    %rcx,%rdx
  mov    %rdi,%rax
  and    $0xfffffffffffffff0,%r10
  pxor   %xmm8,%xmm8
  movdqa D8(%rip),%xmm7
  movdqa D52(%rip),%xmm14
  movdqa D9(%rip),%xmm13
  add    %rcx,%r10
  movdqa D55(%rip),%xmm12
  movdqa D45(%rip),%xmm11
  movdqa D69(%rip),%xmm10
  movdqa D42(%rip),%xmm9
  nopw   0x0(%rax,%rax,1)
L56:
  movdqu (%rdx),%xmm0
  movdqa %xmm8,%xmm6
  add    $0x10,%rdx
  sub    $0xffffffffffffff80,%rax
  pcmpgtb %xmm0,%xmm6
  movdqa %xmm0,%xmm5
  movdqa %xmm0,%xmm4
  pand   %xmm14,%xmm5
  pand   %xmm13,%xmm4
  movdqa %xmm0,%xmm3
  pcmpeqb %xmm8,%xmm5
  pcmpeqb %xmm8,%xmm4
  pand   %xmm12,%xmm3
  pand   %xmm7,%xmm6
  pcmpeqb %xmm8,%xmm3
  movdqa %xmm0,%xmm2
  movd   %xmm6,%r8d
  pand   %xmm11,%xmm2
  movdqa %xmm0,%xmm1
  mov    %r8b,-0x80(%rax)
  pandn  %xmm7,%xmm5
  pandn  %xmm7,%xmm4
  pand   %xmm10,%xmm1
  pandn  %xmm7,%xmm3
  pcmpeqb %xmm8,%xmm2
  pand   %xmm9,%xmm0
  movaps %xmm6,0x6f8(%rsp)
  movzbl 0x6f9(%rsp),%r8d
  pcmpeqb %xmm8,%xmm1
  pcmpeqb %xmm8,%xmm0
  mov    %r8b,-0x78(%rax)
  pandn  %xmm7,%xmm2
  movaps %xmm6,0x6e8(%rsp)
  pandn  %xmm7,%xmm1
  pandn  %xmm7,%xmm0
  movzbl 0x6ea(%rsp),%r8d
  mov    %r8b,-0x70(%rax)
  movaps %xmm6,0x6d8(%rsp)
  movzbl 0x6db(%rsp),%r8d
  mov    %r8b,-0x68(%rax)
  movaps %xmm6,0x6c8(%rsp)
  movzbl 0x6cc(%rsp),%r8d
  mov    %r8b,-0x60(%rax)
  movaps %xmm6,0x6b8(%rsp)
  movzbl 0x6bd(%rsp),%r8d
  mov    %r8b,-0x58(%rax)
  movaps %xmm6,0x6a8(%rsp)
  movzbl 0x6ae(%rsp),%r8d
  mov    %r8b,-0x50(%rax)
  movaps %xmm6,0x698(%rsp)
  movzbl 0x69f(%rsp),%r8d
  mov    %r8b,-0x48(%rax)
  movaps %xmm6,0x688(%rsp)
  movzbl 0x690(%rsp),%r8d
  mov    %r8b,-0x40(%rax)
  movaps %xmm6,0x678(%rsp)
  movzbl 0x681(%rsp),%r8d
  mov    %r8b,-0x38(%rax)
  movaps %xmm6,0x668(%rsp)
  movzbl 0x672(%rsp),%r8d
  mov    %r8b,-0x30(%rax)
  movaps %xmm6,0x658(%rsp)
  movzbl 0x663(%rsp),%r8d
  mov    %r8b,-0x28(%rax)
  movaps %xmm6,0x648(%rsp)
  movzbl 0x654(%rsp),%r8d
  mov    %r8b,-0x20(%rax)
  movaps %xmm6,0x638(%rsp)
  movzbl 0x645(%rsp),%r8d
  mov    %r8b,-0x18(%rax)
  movaps %xmm6,0x628(%rsp)
  movzbl 0x636(%rsp),%r8d
  mov    %r8b,-0x10(%rax)
  movaps %xmm6,0x618(%rsp)
  movzbl 0x627(%rsp),%r8d
  mov    %r8b,-0x8(%rax)
  movd   %xmm5,%r8d
  mov    %r8b,-0x7f(%rax)
  movaps %xmm5,0x608(%rsp)
  movzbl 0x609(%rsp),%r8d
  mov    %r8b,-0x77(%rax)
  movaps %xmm5,0x5f8(%rsp)
  movzbl 0x5fa(%rsp),%r8d
  mov    %r8b,-0x6f(%rax)
  movaps %xmm5,0x5e8(%rsp)
  movzbl 0x5eb(%rsp),%r8d
  mov    %r8b,-0x67(%rax)
  movaps %xmm5,0x5d8(%rsp)
  movzbl 0x5dc(%rsp),%r8d
  mov    %r8b,-0x5f(%rax)
  movaps %xmm5,0x5c8(%rsp)
  movzbl 0x5cd(%rsp),%r8d
  mov    %r8b,-0x57(%rax)
  movaps %xmm5,0x5b8(%rsp)
  movzbl 0x5be(%rsp),%r8d
  mov    %r8b,-0x4f(%rax)
  movaps %xmm5,0x5a8(%rsp)
  movzbl 0x5af(%rsp),%r8d
  mov    %r8b,-0x47(%rax)
  movaps %xmm5,0x598(%rsp)
  movzbl 0x5a0(%rsp),%r8d
  mov    %r8b,-0x3f(%rax)
  movaps %xmm5,0x588(%rsp)
  movzbl 0x591(%rsp),%r8d
  mov    %r8b,-0x37(%rax)
  movaps %xmm5,0x578(%rsp)
  movzbl 0x582(%rsp),%r8d
  mov    %r8b,-0x2f(%rax)
  movaps %xmm5,0x568(%rsp)
  movzbl 0x573(%rsp),%r8d
  mov    %r8b,-0x27(%rax)
  movaps %xmm5,0x558(%rsp)
  movzbl 0x564(%rsp),%r8d
  mov    %r8b,-0x1f(%rax)
  movaps %xmm5,0x548(%rsp)
  movzbl 0x555(%rsp),%r8d
  mov    %r8b,-0x17(%rax)
  movaps %xmm5,0x538(%rsp)
  movzbl 0x546(%rsp),%r8d
  mov    %r8b,-0xf(%rax)
  movaps %xmm5,0x528(%rsp)
  movzbl 0x537(%rsp),%r8d
  mov    %r8b,-0x7(%rax)
  movd   %xmm4,%r8d
  mov    %r8b,-0x7e(%rax)
  movaps %xmm4,0x518(%rsp)
  movzbl 0x519(%rsp),%r8d
  mov    %r8b,-0x76(%rax)
  movaps %xmm4,0x508(%rsp)
  movzbl 0x50a(%rsp),%r8d
  mov    %r8b,-0x6e(%rax)
  movaps %xmm4,0x4f8(%rsp)
  movzbl 0x4fb(%rsp),%r8d
  mov    %r8b,-0x66(%rax)
  movaps %xmm4,0x4e8(%rsp)
  movzbl 0x4ec(%rsp),%r8d
  mov    %r8b,-0x5e(%rax)
  movaps %xmm4,0x4d8(%rsp)
  movzbl 0x4dd(%rsp),%r8d
  mov    %r8b,-0x56(%rax)
  movaps %xmm4,0x4c8(%rsp)
  movzbl 0x4ce(%rsp),%r8d
  mov    %r8b,-0x4e(%rax)
  movaps %xmm4,0x4b8(%rsp)
  movzbl 0x4bf(%rsp),%r8d
  mov    %r8b,-0x46(%rax)
  movaps %xmm4,0x4a8(%rsp)
  movzbl 0x4b0(%rsp),%r8d
  mov    %r8b,-0x3e(%rax)
  movaps %xmm4,0x498(%rsp)
  movzbl 0x4a1(%rsp),%r8d
  mov    %r8b,-0x36(%rax)
  movaps %xmm4,0x488(%rsp)
  movzbl 0x492(%rsp),%r8d
  mov    %r8b,-0x2e(%rax)
  movaps %xmm4,0x478(%rsp)
  movzbl 0x483(%rsp),%r8d
  mov    %r8b,-0x26(%rax)
  movaps %xmm4,0x468(%rsp)
  movzbl 0x474(%rsp),%r8d
  mov    %r8b,-0x1e(%rax)
  movaps %xmm4,0x458(%rsp)
  movzbl 0x465(%rsp),%r8d
  mov    %r8b,-0x16(%rax)
  movaps %xmm4,0x448(%rsp)
  movzbl 0x456(%rsp),%r8d
  mov    %r8b,-0xe(%rax)
  movaps %xmm4,0x438(%rsp)
  movzbl 0x447(%rsp),%r8d
  mov    %r8b,-0x6(%rax)
  movd   %xmm3,%r8d
  mov    %r8b,-0x7d(%rax)
  movaps %xmm3,0x428(%rsp)
  movzbl 0x429(%rsp),%r8d
  mov    %r8b,-0x75(%rax)
  movaps %xmm3,0x418(%rsp)
  movzbl 0x41a(%rsp),%r8d
  mov    %r8b,-0x6d(%rax)
  movaps %xmm3,0x408(%rsp)
  movzbl 0x40b(%rsp),%r8d
  mov    %r8b,-0x65(%rax)
  movaps %xmm3,0x3f8(%rsp)
  movzbl 0x3fc(%rsp),%r8d
  mov    %r8b,-0x5d(%rax)
  movaps %xmm3,0x3e8(%rsp)
  movzbl 0x3ed(%rsp),%r8d
  mov    %r8b,-0x55(%rax)
  movaps %xmm3,0x3d8(%rsp)
  movzbl 0x3de(%rsp),%r8d
  mov    %r8b,-0x4d(%rax)
  movaps %xmm3,0x3c8(%rsp)
  movzbl 0x3cf(%rsp),%r8d
  mov    %r8b,-0x45(%rax)
  movaps %xmm3,0x3b8(%rsp)
  movzbl 0x3c0(%rsp),%r8d
  mov    %r8b,-0x3d(%rax)
  movaps %xmm3,0x3a8(%rsp)
  movzbl 0x3b1(%rsp),%r8d
  mov    %r8b,-0x35(%rax)
  movaps %xmm3,0x398(%rsp)
  movzbl 0x3a2(%rsp),%r8d
  mov    %r8b,-0x2d(%rax)
  movaps %xmm3,0x388(%rsp)
  movzbl 0x393(%rsp),%r8d
  mov    %r8b,-0x25(%rax)
  movaps %xmm3,0x378(%rsp)
  movzbl 0x384(%rsp),%r8d
  mov    %r8b,-0x1d(%rax)
  movaps %xmm3,0x368(%rsp)
  movzbl 0x375(%rsp),%r8d
  mov    %r8b,-0x15(%rax)
  movaps %xmm3,0x358(%rsp)
  movzbl 0x366(%rsp),%r8d
  mov    %r8b,-0xd(%rax)
  movaps %xmm3,0x348(%rsp)
  movzbl 0x357(%rsp),%r8d
  mov    %r8b,-0x5(%rax)
  movd   %xmm2,%r8d
  mov    %r8b,-0x7c(%rax)
  movaps %xmm2,0x338(%rsp)
  movzbl 0x339(%rsp),%r8d
  mov    %r8b,-0x74(%rax)
  movaps %xmm2,0x328(%rsp)
  movzbl 0x32a(%rsp),%r8d
  mov    %r8b,-0x6c(%rax)
  movaps %xmm2,0x318(%rsp)
  movzbl 0x31b(%rsp),%r8d
  mov    %r8b,-0x64(%rax)
  movaps %xmm2,0x308(%rsp)
  movzbl 0x30c(%rsp),%r8d
  mov    %r8b,-0x5c(%rax)
  movaps %xmm2,0x2f8(%rsp)
  movzbl 0x2fd(%rsp),%r8d
  mov    %r8b,-0x54(%rax)
  movaps %xmm2,0x2e8(%rsp)
  movzbl 0x2ee(%rsp),%r8d
  mov    %r8b,-0x4c(%rax)
  movaps %xmm2,0x2d8(%rsp)
  movzbl 0x2df(%rsp),%r8d
  mov    %r8b,-0x44(%rax)
  movaps %xmm2,0x2c8(%rsp)
  movzbl 0x2d0(%rsp),%r8d
  mov    %r8b,-0x3c(%rax)
  movaps %xmm2,0x2b8(%rsp)
  movzbl 0x2c1(%rsp),%r8d
  mov    %r8b,-0x34(%rax)
  movaps %xmm2,0x2a8(%rsp)
  movzbl 0x2b2(%rsp),%r8d
  mov    %r8b,-0x2c(%rax)
  movaps %xmm2,0x298(%rsp)
  movzbl 0x2a3(%rsp),%r8d
  mov    %r8b,-0x24(%rax)
  movaps %xmm2,0x288(%rsp)
  movzbl 0x294(%rsp),%r8d
  mov    %r8b,-0x1c(%rax)
  movaps %xmm2,0x278(%rsp)
  movzbl 0x285(%rsp),%r8d
  mov    %r8b,-0x14(%rax)
  movaps %xmm2,0x268(%rsp)
  movzbl 0x276(%rsp),%r8d
  mov    %r8b,-0xc(%rax)
  movaps %xmm2,0x258(%rsp)
  movzbl 0x267(%rsp),%r8d
  mov    %r8b,-0x4(%rax)
  movd   %xmm1,%r8d
  mov    %r8b,-0x7b(%rax)
  movaps %xmm1,0x248(%rsp)
  movzbl 0x249(%rsp),%r8d
  mov    %r8b,-0x73(%rax)
  movaps %xmm1,0x238(%rsp)
  movzbl 0x23a(%rsp),%r8d
  mov    %r8b,-0x6b(%rax)
  movaps %xmm1,0x228(%rsp)
  movzbl 0x22b(%rsp),%r8d
  mov    %r8b,-0x63(%rax)
  movaps %xmm1,0x218(%rsp)
  movzbl 0x21c(%rsp),%r8d
  mov    %r8b,-0x5b(%rax)
  movaps %xmm1,0x208(%rsp)
  movzbl 0x20d(%rsp),%r8d
  mov    %r8b,-0x53(%rax)
  movaps %xmm1,0x1f8(%rsp)
  movzbl 0x1fe(%rsp),%r8d
  mov    %r8b,-0x4b(%rax)
  movaps %xmm1,0x1e8(%rsp)
  movzbl 0x1ef(%rsp),%r8d
  mov    %r8b,-0x43(%rax)
  movaps %xmm1,0x1d8(%rsp)
  movzbl 0x1e0(%rsp),%r8d
  mov    %r8b,-0x3b(%rax)
  movaps %xmm1,0x1c8(%rsp)
  movzbl 0x1d1(%rsp),%r8d
  mov    %r8b,-0x33(%rax)
  movaps %xmm1,0x1b8(%rsp)
  movzbl 0x1c2(%rsp),%r8d
  mov    %r8b,-0x2b(%rax)
  movaps %xmm1,0x1a8(%rsp)
  movzbl 0x1b3(%rsp),%r8d
  mov    %r8b,-0x23(%rax)
  movaps %xmm1,0x198(%rsp)
  movzbl 0x1a4(%rsp),%r8d
  mov    %r8b,-0x1b(%rax)
  movaps %xmm1,0x188(%rsp)
  movzbl 0x195(%rsp),%r8d
  mov    %r8b,-0x13(%rax)
  movaps %xmm1,0x178(%rsp)
  movzbl 0x186(%rsp),%r8d
  mov    %r8b,-0xb(%rax)
  movaps %xmm1,0x168(%rsp)
  movzbl 0x177(%rsp),%r8d
  mov    %r8b,-0x3(%rax)
  movd   %xmm0,%r8d
  mov    %r8b,-0x7a(%rax)
  movaps %xmm0,0x158(%rsp)
  movzbl 0x159(%rsp),%r8d
  mov    %r8b,-0x72(%rax)
  movaps %xmm0,0x148(%rsp)
  movzbl 0x14a(%rsp),%r8d
  mov    %r8b,-0x6a(%rax)
  movaps %xmm0,0x138(%rsp)
  movzbl 0x13b(%rsp),%r8d
  mov    %r8b,-0x62(%rax)
  movaps %xmm0,0x128(%rsp)
  movzbl 0x12c(%rsp),%r8d
  mov    %r8b,-0x5a(%rax)
  movaps %xmm0,0x118(%rsp)
  movzbl 0x11d(%rsp),%r8d
  mov    %r8b,-0x52(%rax)
  movaps %xmm0,0x108(%rsp)
  movzbl 0x10e(%rsp),%r8d
  mov    %r8b,-0x4a(%rax)
  movaps %xmm0,0xf8(%rsp)
  movzbl 0xff(%rsp),%r8d
  mov    %r8b,-0x42(%rax)
  movaps %xmm0,0xe8(%rsp)
  movzbl 0xf0(%rsp),%r8d
  mov    %r8b,-0x3a(%rax)
  movaps %xmm0,0xd8(%rsp)
  movzbl 0xe1(%rsp),%r8d
  mov    %r8b,-0x32(%rax)
  movaps %xmm0,0xc8(%rsp)
  movzbl 0xd2(%rsp),%r8d
  mov    %r8b,-0x2a(%rax)
  movaps %xmm0,0xb8(%rsp)
  movzbl 0xc3(%rsp),%r8d
  mov    %r8b,-0x22(%rax)
  movaps %xmm0,0xa8(%rsp)
  movzbl 0xb4(%rsp),%r8d
  mov    %r8b,-0x1a(%rax)
  movaps %xmm0,0x98(%rsp)
  movzbl 0xa5(%rsp),%r8d
  mov    %r8b,-0x12(%rax)
  movaps %xmm0,0x88(%rsp)
  movzbl 0x96(%rsp),%r8d
  mov    %r8b,-0xa(%rax)
  movaps %xmm0,0x78(%rsp)
  movzbl 0x87(%rsp),%r8d
  mov    %r8b,-0x2(%rax)
  movdqu -0x10(%rdx),%xmm0
  pand   %xmm7,%xmm0
  movd   %xmm0,%r8d
  mov    %r8b,-0x79(%rax)
  movaps %xmm0,0x68(%rsp)
  movzbl 0x69(%rsp),%r8d
  mov    %r8b,-0x71(%rax)
  movaps %xmm0,0x58(%rsp)
  movzbl 0x5a(%rsp),%r8d
  mov    %r8b,-0x69(%rax)
  movaps %xmm0,0x48(%rsp)
  movzbl 0x4b(%rsp),%r8d
  mov    %r8b,-0x61(%rax)
  movaps %xmm0,0x38(%rsp)
  movzbl 0x3c(%rsp),%r8d
  mov    %r8b,-0x59(%rax)
  movaps %xmm0,0x28(%rsp)
  movzbl 0x2d(%rsp),%r8d
  mov    %r8b,-0x51(%rax)
  movaps %xmm0,0x18(%rsp)
  movzbl 0x1e(%rsp),%r8d
  mov    %r8b,-0x49(%rax)
  movaps %xmm0,0x8(%rsp)
  movzbl 0xf(%rsp),%r8d
  mov    %r8b,-0x41(%rax)
  movaps %xmm0,-0x8(%rsp)
  movzbl (%rsp),%r8d
  mov    %r8b,-0x39(%rax)
  movaps %xmm0,-0x18(%rsp)
  movzbl -0xf(%rsp),%r8d
  mov    %r8b,-0x31(%rax)
  movaps %xmm0,-0x28(%rsp)
  movzbl -0x1e(%rsp),%r8d
  mov    %r8b,-0x29(%rax)
  movaps %xmm0,-0x38(%rsp)
  movzbl -0x2d(%rsp),%r8d
  mov    %r8b,-0x21(%rax)
  movaps %xmm0,-0x48(%rsp)
  movzbl -0x3c(%rsp),%r8d
  mov    %r8b,-0x19(%rax)
  movaps %xmm0,-0x58(%rsp)
  movzbl -0x4b(%rsp),%r8d
  mov    %r8b,-0x11(%rax)
  movaps %xmm0,-0x68(%rsp)
  movzbl -0x5a(%rsp),%r8d
  mov    %r8b,-0x9(%rax)
  movaps %xmm0,-0x78(%rsp)
  movzbl -0x69(%rsp),%r8d
  mov    %r8b,-0x1(%rax)
  cmp    %r10,%rdx
  jne    L56
  mov    %r9,%rax
  and    $0xfffffffffffffff0,%rax
  lea    (%rdi,%rax,8),%rdx
  cmp    %rax,%r9
  je     L1
  add    %rcx,%rax
  nopl   0x0(%rax,%rax,1)
L66:
  movzbl (%rax),%ecx
  add    $0x8,%rdx
  add    $0x1,%rax
  shr    $0x7,%cl
  mov    %cl,-0x8(%rdx)
  movzbl -0x1(%rax),%ecx
  shr    $0x6,%cl
  and    $0x1,%ecx
  mov    %cl,-0x7(%rdx)
  movzbl -0x1(%rax),%ecx
  shr    $0x5,%cl
  and    $0x1,%ecx
  mov    %cl,-0x6(%rdx)
  movzbl -0x1(%rax),%ecx
  shr    $0x4,%cl
  and    $0x1,%ecx
  mov    %cl,-0x5(%rdx)
  movzbl -0x1(%rax),%ecx
  shr    $0x3,%cl
  and    $0x1,%ecx
  mov    %cl,-0x4(%rdx)
  movzbl -0x1(%rax),%ecx
  shr    $0x2,%cl
  and    $0x1,%ecx
  mov    %cl,-0x3(%rdx)
  movzbl -0x1(%rax),%ecx
  shr    %cl
  and    $0x1,%ecx
  mov    %cl,-0x2(%rdx)
  movzbl -0x1(%rax),%ecx
  and    $0x1,%ecx
  mov    %cl,-0x1(%rdx)
  cmp    %rdx,%rsi
  ja     L66
L1:
  add    $0x710,%rsp
  ret
L67:
  mov    %rcx,%rax
  nopl   0x0(%rax,%rax,1)
L40:
  movzbl (%rax),%edx
  add    $0x1,%rax
  add    $0x8,%rdi
  shr    $0x7,%dl
  mov    %dl,-0x8(%rdi)
  movzbl -0x1(%rax),%edx
  shr    $0x6,%dl
  and    $0x1,%edx
  mov    %dl,-0x7(%rdi)
  movzbl -0x1(%rax),%edx
  shr    $0x5,%dl
  and    $0x1,%edx
  mov    %dl,-0x6(%rdi)
  movzbl -0x1(%rax),%edx
  shr    $0x4,%dl
  and    $0x1,%edx
  mov    %dl,-0x5(%rdi)
  movzbl -0x1(%rax),%edx
  shr    $0x3,%dl
  and    $0x1,%edx
  mov    %dl,-0x4(%rdi)
  movzbl -0x1(%rax),%edx
  shr    $0x2,%dl
  and    $0x1,%edx
  mov    %dl,-0x3(%rdi)
  movzbl -0x1(%rax),%edx
  shr    %dl
  and    $0x1,%edx
  mov    %dl,-0x2(%rdi)
  movzbl -0x1(%rax),%edx
  and    $0x1,%edx
  mov    %dl,-0x1(%rdi)
  cmp    %r8,%rax
  jne    L40
  ret
L14:
  ret
```

tool_calls: name: disassemble_data
arguments: label: D8
data_type: byte[16]
name: disassemble_data
arguments: label: D52
data_type: byte[16]
name: disassemble_data
arguments: label: D9
data_type: byte[16]
name: disassemble_data
arguments: label: D55
data_type: byte[16]
name: disassemble_data
arguments: label: D45
data_type: byte[16]
name: disassemble_data
arguments: label: D69
data_type: byte[16]
name: disassemble_data
arguments: label: D42
data_type: byte[16]

tool: {"D8": [0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01]}

tool: {"D52": [0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40,0x40]}

tool: {"D9": [0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20,0x20]}

tool: {"D55": [0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10,0x10]}

tool: {"D45": [0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08]}

tool: {"D69": [0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04,0x04]}

tool: {"D42": [0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02]}

assistant: ```c
void BitStream_writeBytes(unsigned char *dest, size_t size, unsigned char *data) {
  unsigned char mask;
  size_t i, j;
  unsigned char *p;
  p = dest;
  for (i = 0; i < size; i++) {
    mask = 0x80;
    for (j = 0; j < 8; j++) {
      if (data[i] & mask) {
        *p = 1;
      } else {
        *p = 0;
      }
      p++;
      mask = mask >> 1;
    }
  }
}
```