user: 请从给定的汇编指令推导出C源代码：

```asm
<SHA256_Xcompare_27>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xa0,%rsp
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  movabs $0x344ed2059fb165b5,%rax
  movabs $0x4081c30ae6aff393,%rdx
  mov    %rax,-0x60(%rbp)
  mov    %rdx,-0x58(%rbp)
  movabs $0xb6efd883a3dae649,%rax
  movabs $0xba09e2306ced3540,%rdx
  mov    %rax,-0x50(%rbp)
  mov    %rdx,-0x48(%rbp)
  movabs $0x6fc6844b6f6e2177,%rax
  movabs $0x75c6caa7e1fe79dd,%rdx
  mov    %rax,-0x40(%rbp)
  mov    %rdx,-0x38(%rbp)
  movabs $0x5a71bce882012989,%rax
  movabs $0xc2ca6000ca77b397,%rdx
  mov    %rax,-0x30(%rbp)
  mov    %rdx,-0x28(%rbp)
  movabs $0x5d61114d4a5399ae,%rax
  movabs $0x7a5d421117c6c57f,%rdx
  mov    %rax,-0x20(%rbp)
  mov    %rdx,-0x18(%rbp)
  movl   $0x7e29bac5,-0x10(%rbp)
  movw   $0xde1a,-0xc(%rbp)
  movb   $0xa9,-0xa(%rbp)
  movabs $0xfa769569379967c2,%rax
  movabs $0xa061640b8396f988,%rdx
  mov    %rax,-0xa0(%rbp)
  mov    %rdx,-0x98(%rbp)
  movabs $0x55560154d7c6dfd5,%rax
  movabs $0xc4774926c11d8616,%rdx
  mov    %rax,-0x90(%rbp)
  mov    %rdx,-0x88(%rbp)
  lea    -0x80(%rbp),%rax
  mov    $0x20,%edx
  mov    $0x0,%esi
  mov    %rax,%rdi
  call   <memset@plt>
  lea    -0x80(%rbp),%rcx
  lea    -0x60(%rbp),%rax
  mov    $0x57,%edx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <SHA256_VST@plt>
  lea    -0x80(%rbp),%rsi
  lea    -0xa0(%rbp),%rax
  lea    D28(%rip),%rdx
  mov    %rdx,%rcx
  mov    $0x20,%edx
  mov    %rax,%rdi
  call   <check_test@plt>
  lea    -0x80(%rbp),%rax
  mov    $0x20,%edx
  mov    $0x0,%esi
  mov    %rax,%rdi
  call   <memset@plt>
  lea    -0x80(%rbp),%rcx
  lea    -0x60(%rbp),%rax
  mov    $0x57,%edx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <SHA256_NSS@plt>
  lea    -0x80(%rbp),%rsi
  lea    -0xa0(%rbp),%rax
  lea    D19(%rip),%rdx
  mov    %rdx,%rcx
  mov    $0x20,%edx
  mov    %rax,%rdi
  call   <check_test@plt>
  lea    -0x80(%rbp),%rax
  mov    $0x20,%edx
  mov    $0x0,%esi
  mov    %rax,%rdi
  call   <memset@plt>
  lea    -0x80(%rbp),%rcx
  lea    -0x60(%rbp),%rax
  mov    $0x57,%edx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <SHA256_sodium@plt>
  lea    -0x80(%rbp),%rsi
  lea    -0xa0(%rbp),%rax
  lea    D12(%rip),%rdx
  mov    %rdx,%rcx
  mov    $0x20,%edx
  mov    %rax,%rdi
  call   <check_test@plt>
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L1
  call   <__stack_chk_fail@plt>
L1:
  leave
  ret
```

tool_calls: name: disassemble_data
arguments: data_tag: D28
data_type: string
name: disassemble_data
arguments: data_tag: D19
data_type: string
name: disassemble_data
arguments: data_tag: D12
data_type: string

tool: D28: Disagreement between given answer and SHA256_VST in SHA256_Xcompare_27


tool: D19: Disagreement between given answer and SHA256_NSS in SHA256_Xcompare_27


tool: D12: Disagreement between given answer and SHA256_sodium in SHA256_Xcompare_27


assistant: ```c
void SHA256_Xcompare_27() {
  unsigned char input[87] = {181, 101, 177, 159, 5, 210, 78, 52, 147, 243, 175, 230, 10, 195, 129, 64, 73, 230, 218, 163, 131, 216, 239, 182, 64, 53, 237, 108, 48, 226, 9, 186, 119, 33, 110, 111, 75, 132, 198, 111, 221, 121, 254, 225, 167, 202, 198, 117, 137, 41, 1, 130, 232, 188, 113, 90, 151, 179, 119, 202, 0, 96, 202, 194, 174, 153, 83, 74, 77, 17, 97, 93, 127, 197, 198, 23, 17, 66, 93, 122, 197, 186, 41, 126, 26, 222, 169};
  unsigned char result0[32] = {0xC2, 0x67, 0x99, 0x37, 0x69, 0x95, 0x76, 0xFA, 0x88, 0xF9, 0x96, 0x83, 0x0B, 0x64, 0x61, 0xA0, 0xD5, 0xDF, 0xC6, 0xD7, 0x54, 0x01, 0x56, 0x55, 0x16, 0x86, 0x1D, 0xC1, 0x26, 0x49, 0x77, 0xC4};
  unsigned char result1[32];
  memset(result1, 0, 32);
  SHA256_VST(input, result1, 87);
  check_test(result0, result1, 32, "Disagreement between given answer and SHA256_VST in SHA256_Xcompare_27\n");
  memset(result1, 0, 32);
  SHA256_NSS(input, result1, 87);
  check_test(result0, result1, 32, "Disagreement between given answer and SHA256_NSS in SHA256_Xcompare_27\n");
  memset(result1, 0, 32);
  SHA256_sodium(input, result1, 87);
  check_test(result0, result1, 32, "Disagreement between given answer and SHA256_sodium in SHA256_Xcompare_27\n");
}
```