user: 请显示与下面列出的汇编代码相匹配的C语言实现：

```asm
<blake2_round_sidm_X3>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0x50,%rsp
  mov    %rdi,-0x48(%rbp)
  mov    %rsi,-0x50(%rbp)
  push   $0xd
  push   $0xc
  push   $0xf
  push   $0xe
  push   $0x9
  push   $0x8
  push   $0xb
  push   $0xa
  push   $0x5
  push   $0x4
  mov    $0x7,%r9d
  mov    $0x6,%r8d
  mov    $0x1,%ecx
  mov    $0x0,%edx
  mov    $0x3,%esi
  mov    $0x2,%edi
  call   <_mm_setr_epi8@plt>
  add    $0x50,%rsp
  mov    %eax,-0x40(%rbp)
  push   $0xc
  push   $0xf
  push   $0xe
  push   $0xd
  push   $0x8
  push   $0xb
  push   $0xa
  push   $0x9
  push   $0x4
  push   $0x7
  mov    $0x6,%r9d
  mov    $0x5,%r8d
  mov    $0x0,%ecx
  mov    $0x3,%edx
  mov    $0x2,%esi
  mov    $0x1,%edi
  call   <_mm_setr_epi8@plt>
  add    $0x50,%rsp
  mov    %eax,-0x3c(%rbp)
  mov    -0x48(%rbp),%rax
  mov    (%rax),%eax
  mov    %eax,-0x38(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x4(%rax),%eax
  mov    %eax,-0x34(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x8(%rax),%eax
  mov    %eax,-0x30(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0xc(%rax),%eax
  mov    %eax,-0x2c(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x10(%rax),%eax
  mov    %eax,-0x28(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x14(%rax),%eax
  mov    %eax,-0x24(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x18(%rax),%eax
  mov    %eax,-0x20(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x1c(%rax),%eax
  mov    %eax,-0x1c(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x20(%rax),%eax
  mov    %eax,-0x18(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x24(%rax),%eax
  mov    %eax,-0x14(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x28(%rax),%eax
  mov    %eax,-0x10(%rbp)
  mov    -0x48(%rbp),%rax
  mov    0x2c(%rax),%eax
  mov    %eax,-0xc(%rbp)
  mov    -0x34(%rbp),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x24(%rbp),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  mov    (%rax),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x14(%rbp),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x20,%rax
  mov    (%rax),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x38(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x28(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x18(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x40(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x40(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x40(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x2c(%rbp),%edx
  mov    -0x30(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x30(%rbp)
  mov    -0x1c(%rbp),%edx
  mov    -0x20(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x20(%rbp)
  mov    -0x30(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0xc(%rbp),%edx
  mov    -0x10(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x10(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0xc,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x14,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x20(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x10(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0xc,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0xc,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0x14,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x14,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x34(%rbp),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x24(%rbp),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x4,%rax
  mov    (%rax),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x14(%rbp),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x14,%rax
  mov    (%rax),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x24,%rax
  mov    (%rax),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x38(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x28(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x18(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x3c(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x3c(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x3c(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x2c(%rbp),%edx
  mov    -0x30(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x30(%rbp)
  mov    -0x1c(%rbp),%edx
  mov    -0x20(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x20(%rbp)
  mov    -0x30(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0xc(%rbp),%edx
  mov    -0x10(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x10(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x7,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x19,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x20(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x10(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0x7,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x7,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0x19,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x19,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x34(%rbp),%eax
  mov    $0x39,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x30(%rbp),%eax
  mov    $0x4e,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x30(%rbp)
  mov    -0x2c(%rbp),%eax
  mov    $0x93,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x24(%rbp),%eax
  mov    $0x39,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x20(%rbp),%eax
  mov    $0x4e,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x20(%rbp)
  mov    -0x1c(%rbp),%eax
  mov    $0x93,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x14(%rbp),%eax
  mov    $0x39,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x10(%rbp),%eax
  mov    $0x4e,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x10(%rbp)
  mov    -0xc(%rbp),%eax
  mov    $0x93,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x34(%rbp),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x24(%rbp),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x14(%rbp),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x28,%rax
  mov    (%rax),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x38(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x28(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x18(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x40(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x40(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x40(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x2c(%rbp),%edx
  mov    -0x30(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x30(%rbp)
  mov    -0x1c(%rbp),%edx
  mov    -0x20(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x20(%rbp)
  mov    -0x30(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0xc(%rbp),%edx
  mov    -0x10(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x10(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0xc,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x14,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x20(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x10(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0xc,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0xc,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0x14,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x14,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x34(%rbp),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x24(%rbp),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0xc,%rax
  mov    (%rax),%edx
  mov    -0x38(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x38(%rbp)
  mov    -0x14(%rbp),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x1c,%rax
  mov    (%rax),%edx
  mov    -0x28(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x28(%rbp)
  mov    -0x50(%rbp),%rax
  add    $0x2c,%rax
  mov    (%rax),%edx
  mov    -0x18(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x18(%rbp)
  mov    -0x38(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x28(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x18(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x3c(%rbp),%edx
  mov    -0x2c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x3c(%rbp),%edx
  mov    -0x1c(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x3c(%rbp),%edx
  mov    -0xc(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi8@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x2c(%rbp),%edx
  mov    -0x30(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x30(%rbp)
  mov    -0x1c(%rbp),%edx
  mov    -0x20(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x20(%rbp)
  mov    -0x30(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0xc(%rbp),%edx
  mov    -0x10(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_add_epi32@plt>
  mov    %eax,-0x10(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x7,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x19,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x20(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x34(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x10(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0x7,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x7,%esi
  mov    %eax,%edi
  call   <_mm_srli_epi32@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x4(%rbp),%eax
  mov    $0x19,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x4(%rbp)
  mov    -0x8(%rbp),%eax
  mov    $0x19,%esi
  mov    %eax,%edi
  call   <_mm_slli_epi32@plt>
  mov    %eax,-0x8(%rbp)
  mov    -0x4(%rbp),%edx
  mov    -0x24(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x8(%rbp),%edx
  mov    -0x14(%rbp),%eax
  mov    %edx,%esi
  mov    %eax,%edi
  call   <_mm_xor_si128@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x34(%rbp),%eax
  mov    $0x93,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x34(%rbp)
  mov    -0x30(%rbp),%eax
  mov    $0x4e,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x30(%rbp)
  mov    -0x2c(%rbp),%eax
  mov    $0x39,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x2c(%rbp)
  mov    -0x24(%rbp),%eax
  mov    $0x93,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x24(%rbp)
  mov    -0x20(%rbp),%eax
  mov    $0x4e,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x20(%rbp)
  mov    -0x1c(%rbp),%eax
  mov    $0x39,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x1c(%rbp)
  mov    -0x14(%rbp),%eax
  mov    $0x93,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x14(%rbp)
  mov    -0x10(%rbp),%eax
  mov    $0x4e,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0x10(%rbp)
  mov    -0xc(%rbp),%eax
  mov    $0x39,%esi
  mov    %eax,%edi
  call   <_mm_shuffle_epi32@plt>
  mov    %eax,-0xc(%rbp)
  mov    -0x48(%rbp),%rax
  mov    -0x38(%rbp),%edx
  mov    %edx,(%rax)
  mov    -0x48(%rbp),%rax
  lea    0x4(%rax),%rdx
  mov    -0x34(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x8(%rax),%rdx
  mov    -0x30(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0xc(%rax),%rdx
  mov    -0x2c(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x10(%rax),%rdx
  mov    -0x28(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x14(%rax),%rdx
  mov    -0x24(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x18(%rax),%rdx
  mov    -0x20(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x1c(%rax),%rdx
  mov    -0x1c(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x20(%rax),%rdx
  mov    -0x18(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x24(%rax),%rdx
  mov    -0x14(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x28(%rax),%rdx
  mov    -0x10(%rbp),%eax
  mov    %eax,(%rdx)
  mov    -0x48(%rbp),%rax
  lea    0x2c(%rax),%rdx
  mov    -0xc(%rbp),%eax
  mov    %eax,(%rdx)
  nop
  leave
  ret
```

assistant: ```c
void blake2_round_sidm_X3(__m128i *state, __m128i *Message) {
  __m128i _calc1, _calc2;
  __m128i const _rotate_16 = _mm_setr_epi8(2, 3, 0, 1, 6, 7, 4, 5, 10, 11, 8, 9, 14, 15, 12, 13);
  __m128i const _rotate_8_r = _mm_setr_epi8(1, 2, 3, 0, 5, 6, 7, 4, 9, 10, 11, 8, 13, 14, 15, 12);
  __m128i row0_1 = state[0];
  __m128i row1_1 = state[1];
  __m128i row2_1 = state[2];
  __m128i row3_1 = state[3];
  __m128i row0_2 = state[4];
  __m128i row1_2 = state[5];
  __m128i row2_2 = state[6];
  __m128i row3_2 = state[7];
  __m128i row0_3 = state[8];
  __m128i row1_3 = state[9];
  __m128i row2_3 = state[10];
  __m128i row3_3 = state[11];
  row0_1 = _mm_add_epi32(row0_1, row1_1);
  row0_2 = _mm_add_epi32(row0_2, row1_2);
  row0_1 = _mm_add_epi32(row0_1, Message[0]);
  row0_3 = _mm_add_epi32(row0_3, row1_3);
  row0_2 = _mm_add_epi32(row0_2, Message[4]);
  row0_3 = _mm_add_epi32(row0_3, Message[8]);
  row3_1 = _mm_xor_si128(row3_1, row0_1);
  row3_2 = _mm_xor_si128(row3_2, row0_2);
  row3_3 = _mm_xor_si128(row3_3, row0_3);
  row3_1 = _mm_shuffle_epi8(row3_1, _rotate_16);
  row3_2 = _mm_shuffle_epi8(row3_2, _rotate_16);
  row3_3 = _mm_shuffle_epi8(row3_3, _rotate_16);
  row2_1 = _mm_add_epi32(row2_1, row3_1);
  row2_2 = _mm_add_epi32(row2_2, row3_2);
  _calc1 = _mm_xor_si128(row1_1, row2_1);
  row2_3 = _mm_add_epi32(row2_3, row3_3);
  row1_1 = _mm_srli_epi32(_calc1, (12));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 12));
  _calc2 = _mm_xor_si128(row1_2, row2_2);
  row1_1 = _mm_xor_si128(row1_1, _calc1);
  _calc1 = _mm_xor_si128(row1_3, row2_3);
  row1_2 = _mm_srli_epi32(_calc2, (12));
  row1_3 = _mm_srli_epi32(_calc1, (12));
  _calc2 = _mm_slli_epi32(_calc2, (32 - 12));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 12));
  row1_2 = _mm_xor_si128(row1_2, _calc2);
  row1_3 = _mm_xor_si128(row1_3, _calc1);
  row0_1 = _mm_add_epi32(row0_1, row1_1);
  row0_2 = _mm_add_epi32(row0_2, row1_2);
  row0_1 = _mm_add_epi32(row0_1, Message[1]);
  row0_3 = _mm_add_epi32(row0_3, row1_3);
  row0_2 = _mm_add_epi32(row0_2, Message[5]);
  row0_3 = _mm_add_epi32(row0_3, Message[9]);
  row3_1 = _mm_xor_si128(row3_1, row0_1);
  row3_2 = _mm_xor_si128(row3_2, row0_2);
  row3_3 = _mm_xor_si128(row3_3, row0_3);
  row3_1 = _mm_shuffle_epi8(row3_1, _rotate_8_r);
  row3_2 = _mm_shuffle_epi8(row3_2, _rotate_8_r);
  row3_3 = _mm_shuffle_epi8(row3_3, _rotate_8_r);
  row2_1 = _mm_add_epi32(row2_1, row3_1);
  row2_2 = _mm_add_epi32(row2_2, row3_2);
  _calc1 = _mm_xor_si128(row1_1, row2_1);
  row2_3 = _mm_add_epi32(row2_3, row3_3);
  row1_1 = _mm_srli_epi32(_calc1, (7));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 7));
  _calc2 = _mm_xor_si128(row1_2, row2_2);
  row1_1 = _mm_xor_si128(row1_1, _calc1);
  _calc1 = _mm_xor_si128(row1_3, row2_3);
  row1_2 = _mm_srli_epi32(_calc2, (7));
  row1_3 = _mm_srli_epi32(_calc1, (7));
  _calc2 = _mm_slli_epi32(_calc2, (32 - 7));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 7));
  row1_2 = _mm_xor_si128(row1_2, _calc2);
  row1_3 = _mm_xor_si128(row1_3, _calc1);
  row1_1 = _mm_shuffle_epi32(row1_1, 0x39);
  row2_1 = _mm_shuffle_epi32(row2_1, 0x4e);
  row3_1 = _mm_shuffle_epi32(row3_1, 0x93);
  row1_2 = _mm_shuffle_epi32(row1_2, 0x39);
  row2_2 = _mm_shuffle_epi32(row2_2, 0x4e);
  row3_2 = _mm_shuffle_epi32(row3_2, 0x93);
  row1_3 = _mm_shuffle_epi32(row1_3, 0x39);
  row2_3 = _mm_shuffle_epi32(row2_3, 0x4e);
  row3_3 = _mm_shuffle_epi32(row3_3, 0x93);
  row0_1 = _mm_add_epi32(row0_1, row1_1);
  row0_2 = _mm_add_epi32(row0_2, row1_2);
  row0_1 = _mm_add_epi32(row0_1, Message[2]);
  row0_3 = _mm_add_epi32(row0_3, row1_3);
  row0_2 = _mm_add_epi32(row0_2, Message[6]);
  row0_3 = _mm_add_epi32(row0_3, Message[10]);
  row3_1 = _mm_xor_si128(row3_1, row0_1);
  row3_2 = _mm_xor_si128(row3_2, row0_2);
  row3_3 = _mm_xor_si128(row3_3, row0_3);
  row3_1 = _mm_shuffle_epi8(row3_1, _rotate_16);
  row3_2 = _mm_shuffle_epi8(row3_2, _rotate_16);
  row3_3 = _mm_shuffle_epi8(row3_3, _rotate_16);
  row2_1 = _mm_add_epi32(row2_1, row3_1);
  row2_2 = _mm_add_epi32(row2_2, row3_2);
  _calc1 = _mm_xor_si128(row1_1, row2_1);
  row2_3 = _mm_add_epi32(row2_3, row3_3);
  row1_1 = _mm_srli_epi32(_calc1, (12));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 12));
  _calc2 = _mm_xor_si128(row1_2, row2_2);
  row1_1 = _mm_xor_si128(row1_1, _calc1);
  _calc1 = _mm_xor_si128(row1_3, row2_3);
  row1_2 = _mm_srli_epi32(_calc2, (12));
  row1_3 = _mm_srli_epi32(_calc1, (12));
  _calc2 = _mm_slli_epi32(_calc2, (32 - 12));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 12));
  row1_2 = _mm_xor_si128(row1_2, _calc2);
  row1_3 = _mm_xor_si128(row1_3, _calc1);
  row0_1 = _mm_add_epi32(row0_1, row1_1);
  row0_2 = _mm_add_epi32(row0_2, row1_2);
  row0_1 = _mm_add_epi32(row0_1, Message[3]);
  row0_3 = _mm_add_epi32(row0_3, row1_3);
  row0_2 = _mm_add_epi32(row0_2, Message[7]);
  row0_3 = _mm_add_epi32(row0_3, Message[11]);
  row3_1 = _mm_xor_si128(row3_1, row0_1);
  row3_2 = _mm_xor_si128(row3_2, row0_2);
  row3_3 = _mm_xor_si128(row3_3, row0_3);
  row3_1 = _mm_shuffle_epi8(row3_1, _rotate_8_r);
  row3_2 = _mm_shuffle_epi8(row3_2, _rotate_8_r);
  row3_3 = _mm_shuffle_epi8(row3_3, _rotate_8_r);
  row2_1 = _mm_add_epi32(row2_1, row3_1);
  row2_2 = _mm_add_epi32(row2_2, row3_2);
  _calc1 = _mm_xor_si128(row1_1, row2_1);
  row2_3 = _mm_add_epi32(row2_3, row3_3);
  row1_1 = _mm_srli_epi32(_calc1, (7));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 7));
  _calc2 = _mm_xor_si128(row1_2, row2_2);
  row1_1 = _mm_xor_si128(row1_1, _calc1);
  _calc1 = _mm_xor_si128(row1_3, row2_3);
  row1_2 = _mm_srli_epi32(_calc2, (7));
  row1_3 = _mm_srli_epi32(_calc1, (7));
  _calc2 = _mm_slli_epi32(_calc2, (32 - 7));
  _calc1 = _mm_slli_epi32(_calc1, (32 - 7));
  row1_2 = _mm_xor_si128(row1_2, _calc2);
  row1_3 = _mm_xor_si128(row1_3, _calc1);
  row1_1 = _mm_shuffle_epi32(row1_1, 0x93);
  row2_1 = _mm_shuffle_epi32(row2_1, 0x4e);
  row3_1 = _mm_shuffle_epi32(row3_1, 0x39);
  row1_2 = _mm_shuffle_epi32(row1_2, 0x93);
  row2_2 = _mm_shuffle_epi32(row2_2, 0x4e);
  row3_2 = _mm_shuffle_epi32(row3_2, 0x39);
  row1_3 = _mm_shuffle_epi32(row1_3, 0x93);
  row2_3 = _mm_shuffle_epi32(row2_3, 0x4e);
  row3_3 = _mm_shuffle_epi32(row3_3, 0x39);
  state[0] = row0_1;
  state[1] = row1_1;
  state[2] = row2_1;
  state[3] = row3_1;
  state[4] = row0_2;
  state[5] = row1_2;
  state[6] = row2_2;
  state[7] = row3_2;
  state[8] = row0_3;
  state[9] = row1_3;
  state[10] = row2_3;
  state[11] = row3_3;
}
```