user: 提供的汇编代码用C语言表示会是什么样子：

```asm
<SHA1_Transform_HC>:
  endbr64
  push   %rbp
  mov    %rsp,%rbp
  sub    $0xd0,%rsp
  mov    %rdi,-0xc8(%rbp)
  mov    %rsi,-0xd0(%rbp)
  mov    %fs:0x28,%rax
  mov    %rax,-0x8(%rbp)
  xor    %eax,%eax
  mov    -0xc8(%rbp),%rax
  mov    (%rax),%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xc8(%rbp),%rax
  mov    0x8(%rax),%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0xc8(%rbp),%rax
  mov    0x10(%rax),%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xc8(%rbp),%rax
  mov    0x18(%rax),%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xc8(%rbp),%rax
  mov    0x20(%rax),%rax
  mov    %rax,-0x98(%rbp)
  lea    -0x90(%rbp),%rdx
  mov    $0x0,%eax
  mov    $0x10,%ecx
  mov    %rdx,%rdi
  rep stos %rax,%es:(%rdi)
  mov    -0xd0(%rbp),%rcx
  lea    -0x90(%rbp),%rax
  mov    $0x40,%edx
  mov    %rcx,%rsi
  mov    %rax,%rdi
  call   <memcpy@plt>
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x90(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x88(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x80(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x78(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  xor    -0x98(%rbp),%rax
  add    %rax,%rdx
  mov    -0x70(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x68(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x60(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x58(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x50(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  xor    -0x98(%rbp),%rax
  add    %rax,%rdx
  mov    -0x48(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x40(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x38(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x30(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  add    %rax,%rdx
  mov    -0x28(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  xor    -0x98(%rbp),%rax
  add    %rax,%rdx
  mov    -0x20(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  add    %rax,%rdx
  mov    -0x18(%rbp),%rax
  add    %rdx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x90(%rbp)
  mov    -0x90(%rbp),%rax
  add    %rcx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0x88(%rbp),%rax
  add    %rcx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x80(%rbp),%rax
  add    %rcx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x78(%rbp)
  mov    -0x78(%rbp),%rax
  add    %rcx,%rax
  add    $0x5a827999,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0x70(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x58(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x50(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x48(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x40(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x38(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x30(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x28(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x20(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x18(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x90(%rbp)
  mov    -0x90(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0x88(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x80(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x78(%rbp)
  mov    -0x78(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0x70(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x58(%rbp),%rax
  add    %rcx,%rax
  add    $0x6ed9eba1,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa8(%rbp),%rax
  or     -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x50(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb0(%rbp),%rax
  or     -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  and    -0xa8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x48(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb8(%rbp),%rax
  or     -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  and    -0xb0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x40(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0x98(%rbp),%rax
  or     -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  and    -0xb8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x38(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa0(%rbp),%rax
  or     -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  and    -0x98(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x30(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa8(%rbp),%rax
  or     -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x28(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb0(%rbp),%rax
  or     -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  and    -0xa8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x20(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb8(%rbp),%rax
  or     -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  and    -0xb0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x18(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0x98(%rbp),%rax
  or     -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  and    -0xb8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x90(%rbp)
  mov    -0x90(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa0(%rbp),%rax
  or     -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  and    -0x98(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0x88(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa8(%rbp),%rax
  or     -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x80(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb0(%rbp),%rax
  or     -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  and    -0xa8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x78(%rbp)
  mov    -0x78(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb8(%rbp),%rax
  or     -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  and    -0xb0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0x70(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0x98(%rbp),%rax
  or     -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  and    -0xb8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa0(%rbp),%rax
  or     -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  and    -0x98(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa8(%rbp),%rax
  or     -0xa0(%rbp),%rax
  and    -0xb0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x58(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb0(%rbp),%rax
  or     -0xa8(%rbp),%rax
  and    -0xb8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  and    -0xa8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x50(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xb8(%rbp),%rax
  or     -0xb0(%rbp),%rax
  and    -0x98(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  and    -0xb0(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x48(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0x98(%rbp),%rax
  or     -0xb8(%rbp),%rax
  and    -0xa0(%rbp),%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  and    -0xb8(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x40(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  mov    %rdx,%rcx
  or     %rax,%rcx
  mov    -0xa0(%rbp),%rax
  or     -0x98(%rbp),%rax
  and    -0xa8(%rbp),%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  and    -0x98(%rbp),%rax
  or     %rdx,%rax
  add    %rax,%rcx
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x38(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0x8f1bbcdc,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x30(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x28(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x20(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x18(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x90(%rbp),%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x90(%rbp)
  mov    -0x90(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x88(%rbp),%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x88(%rbp)
  mov    -0x88(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x80(%rbp),%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x80(%rbp)
  mov    -0x80(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x78(%rbp),%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x78(%rbp)
  mov    -0x78(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x70(%rbp),%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x70(%rbp)
  mov    -0x70(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x68(%rbp),%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x68(%rbp)
  mov    -0x68(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x60(%rbp),%rdx
  mov    -0x50(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x60(%rbp)
  mov    -0x60(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x58(%rbp),%rdx
  mov    -0x48(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x58(%rbp)
  mov    -0x58(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x50(%rbp),%rdx
  mov    -0x40(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x50(%rbp)
  mov    -0x50(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x48(%rbp),%rdx
  mov    -0x38(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x48(%rbp)
  mov    -0x48(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x40(%rbp),%rdx
  mov    -0x30(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x80(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x40(%rbp)
  mov    -0x40(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x38(%rbp),%rdx
  mov    -0x28(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x78(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x50(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x38(%rbp)
  mov    -0x38(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0x98(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb0(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  xor    -0xa8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x30(%rbp),%rdx
  mov    -0x20(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x70(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x48(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x30(%rbp)
  mov    -0x30(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa0(%rbp)
  mov    -0xb8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xb8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xb8(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  xor    -0xb0(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x28(%rbp),%rdx
  mov    -0x18(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x68(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x40(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x28(%rbp)
  mov    -0x28(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xa8(%rbp)
  mov    -0x98(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0x98(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0x98(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  xor    -0xb8(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x20(%rbp),%rdx
  mov    -0x90(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x60(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x38(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x20(%rbp)
  mov    -0x20(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb0(%rbp)
  mov    -0xa0(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa0(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa0(%rbp)
  mov    -0xb0(%rbp),%rax
  shl    $0x5,%rax
  mov    %rax,%rdx
  mov    -0xb0(%rbp),%rax
  shr    $0x1b,%rax
  or     %rax,%rdx
  mov    -0xa8(%rbp),%rax
  xor    -0xa0(%rbp),%rax
  xor    -0x98(%rbp),%rax
  lea    (%rdx,%rax,1),%rcx
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  lea    (%rax,%rax,1),%rsi
  mov    -0x18(%rbp),%rdx
  mov    -0x88(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x58(%rbp),%rax
  xor    %rax,%rdx
  mov    -0x30(%rbp),%rax
  xor    %rdx,%rax
  shr    $0x1f,%rax
  or     %rsi,%rax
  mov    %rax,-0x18(%rbp)
  mov    -0x18(%rbp),%rax
  lea    (%rcx,%rax,1),%rdx
  mov    $0xca62c1d6,%eax
  add    %rdx,%rax
  add    %rax,-0xb8(%rbp)
  mov    -0xa8(%rbp),%rax
  shl    $0x1e,%rax
  mov    %rax,%rdx
  mov    -0xa8(%rbp),%rax
  shr    $0x2,%rax
  or     %rdx,%rax
  mov    %rax,-0xa8(%rbp)
  mov    -0xc8(%rbp),%rax
  mov    (%rax),%rdx
  mov    -0xb8(%rbp),%rax
  add    %rax,%rdx
  mov    -0xc8(%rbp),%rax
  mov    %rdx,(%rax)
  mov    -0xc8(%rbp),%rax
  add    $0x8,%rax
  mov    (%rax),%rcx
  mov    -0xc8(%rbp),%rax
  add    $0x8,%rax
  mov    -0xb0(%rbp),%rdx
  add    %rcx,%rdx
  mov    %rdx,(%rax)
  mov    -0xc8(%rbp),%rax
  add    $0x10,%rax
  mov    (%rax),%rcx
  mov    -0xc8(%rbp),%rax
  add    $0x10,%rax
  mov    -0xa8(%rbp),%rdx
  add    %rcx,%rdx
  mov    %rdx,(%rax)
  mov    -0xc8(%rbp),%rax
  add    $0x18,%rax
  mov    (%rax),%rcx
  mov    -0xc8(%rbp),%rax
  add    $0x18,%rax
  mov    -0xa0(%rbp),%rdx
  add    %rcx,%rdx
  mov    %rdx,(%rax)
  mov    -0xc8(%rbp),%rax
  add    $0x20,%rax
  mov    (%rax),%rcx
  mov    -0xc8(%rbp),%rax
  add    $0x20,%rax
  mov    -0x98(%rbp),%rdx
  add    %rcx,%rdx
  mov    %rdx,(%rax)
  nop
  mov    -0x8(%rbp),%rax
  sub    %fs:0x28,%rax
  je     L2
  call   <__stack_chk_fail@plt>
L2:
  leave
  ret
```

assistant: ```c
void SHA1_Transform_HC(unsigned long H[5], const unsigned char M[64]) {
  unsigned long A = H[0];
  unsigned long B = H[1];
  unsigned long C = H[2];
  unsigned long D = H[3];
  unsigned long E = H[4];
  unsigned long W[16] = {0};
  memcpy(W, M, 64);
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) + ((0 + 0 + 0) < 16 ? (W[((0 + 0 + 0)) & 0x0F]) : ((W[((0 + 0 + 0)) & 0x0F]) = ((((W[((0 + 0 + 0)) & 0x0F]) ^ (W[((0 + 0 + 0) - 14) & 0x0F]) ^ (W[((0 + 0 + 0) - 8) & 0x0F]) ^ (W[((0 + 0 + 0) - 3) & 0x0F])) << (1)) | (((W[((0 + 0 + 0)) & 0x0F]) ^ (W[((0 + 0 + 0) - 14) & 0x0F]) ^ (W[((0 + 0 + 0) - 8) & 0x0F]) ^ (W[((0 + 0 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) + ((0 + 0 + 1) < 16 ? (W[((0 + 0 + 1)) & 0x0F]) : ((W[((0 + 0 + 1)) & 0x0F]) = ((((W[((0 + 0 + 1)) & 0x0F]) ^ (W[((0 + 0 + 1) - 14) & 0x0F]) ^ (W[((0 + 0 + 1) - 8) & 0x0F]) ^ (W[((0 + 0 + 1) - 3) & 0x0F])) << (1)) | (((W[((0 + 0 + 1)) & 0x0F]) ^ (W[((0 + 0 + 1) - 14) & 0x0F]) ^ (W[((0 + 0 + 1) - 8) & 0x0F]) ^ (W[((0 + 0 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) + ((0 + 0 + 2) < 16 ? (W[((0 + 0 + 2)) & 0x0F]) : ((W[((0 + 0 + 2)) & 0x0F]) = ((((W[((0 + 0 + 2)) & 0x0F]) ^ (W[((0 + 0 + 2) - 14) & 0x0F]) ^ (W[((0 + 0 + 2) - 8) & 0x0F]) ^ (W[((0 + 0 + 2) - 3) & 0x0F])) << (1)) | (((W[((0 + 0 + 2)) & 0x0F]) ^ (W[((0 + 0 + 2) - 14) & 0x0F]) ^ (W[((0 + 0 + 2) - 8) & 0x0F]) ^ (W[((0 + 0 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) + ((0 + 0 + 3) < 16 ? (W[((0 + 0 + 3)) & 0x0F]) : ((W[((0 + 0 + 3)) & 0x0F]) = ((((W[((0 + 0 + 3)) & 0x0F]) ^ (W[((0 + 0 + 3) - 14) & 0x0F]) ^ (W[((0 + 0 + 3) - 8) & 0x0F]) ^ (W[((0 + 0 + 3) - 3) & 0x0F])) << (1)) | (((W[((0 + 0 + 3)) & 0x0F]) ^ (W[((0 + 0 + 3) - 14) & 0x0F]) ^ (W[((0 + 0 + 3) - 8) & 0x0F]) ^ (W[((0 + 0 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) + ((0 + 0 + 4) < 16 ? (W[((0 + 0 + 4)) & 0x0F]) : ((W[((0 + 0 + 4)) & 0x0F]) = ((((W[((0 + 0 + 4)) & 0x0F]) ^ (W[((0 + 0 + 4) - 14) & 0x0F]) ^ (W[((0 + 0 + 4) - 8) & 0x0F]) ^ (W[((0 + 0 + 4) - 3) & 0x0F])) << (1)) | (((W[((0 + 0 + 4)) & 0x0F]) ^ (W[((0 + 0 + 4) - 14) & 0x0F]) ^ (W[((0 + 0 + 4) - 8) & 0x0F]) ^ (W[((0 + 0 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) + ((0 + 5 + 0) < 16 ? (W[((0 + 5 + 0)) & 0x0F]) : ((W[((0 + 5 + 0)) & 0x0F]) = ((((W[((0 + 5 + 0)) & 0x0F]) ^ (W[((0 + 5 + 0) - 14) & 0x0F]) ^ (W[((0 + 5 + 0) - 8) & 0x0F]) ^ (W[((0 + 5 + 0) - 3) & 0x0F])) << (1)) | (((W[((0 + 5 + 0)) & 0x0F]) ^ (W[((0 + 5 + 0) - 14) & 0x0F]) ^ (W[((0 + 5 + 0) - 8) & 0x0F]) ^ (W[((0 + 5 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) + ((0 + 5 + 1) < 16 ? (W[((0 + 5 + 1)) & 0x0F]) : ((W[((0 + 5 + 1)) & 0x0F]) = ((((W[((0 + 5 + 1)) & 0x0F]) ^ (W[((0 + 5 + 1) - 14) & 0x0F]) ^ (W[((0 + 5 + 1) - 8) & 0x0F]) ^ (W[((0 + 5 + 1) - 3) & 0x0F])) << (1)) | (((W[((0 + 5 + 1)) & 0x0F]) ^ (W[((0 + 5 + 1) - 14) & 0x0F]) ^ (W[((0 + 5 + 1) - 8) & 0x0F]) ^ (W[((0 + 5 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) + ((0 + 5 + 2) < 16 ? (W[((0 + 5 + 2)) & 0x0F]) : ((W[((0 + 5 + 2)) & 0x0F]) = ((((W[((0 + 5 + 2)) & 0x0F]) ^ (W[((0 + 5 + 2) - 14) & 0x0F]) ^ (W[((0 + 5 + 2) - 8) & 0x0F]) ^ (W[((0 + 5 + 2) - 3) & 0x0F])) << (1)) | (((W[((0 + 5 + 2)) & 0x0F]) ^ (W[((0 + 5 + 2) - 14) & 0x0F]) ^ (W[((0 + 5 + 2) - 8) & 0x0F]) ^ (W[((0 + 5 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) + ((0 + 5 + 3) < 16 ? (W[((0 + 5 + 3)) & 0x0F]) : ((W[((0 + 5 + 3)) & 0x0F]) = ((((W[((0 + 5 + 3)) & 0x0F]) ^ (W[((0 + 5 + 3) - 14) & 0x0F]) ^ (W[((0 + 5 + 3) - 8) & 0x0F]) ^ (W[((0 + 5 + 3) - 3) & 0x0F])) << (1)) | (((W[((0 + 5 + 3)) & 0x0F]) ^ (W[((0 + 5 + 3) - 14) & 0x0F]) ^ (W[((0 + 5 + 3) - 8) & 0x0F]) ^ (W[((0 + 5 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) + ((0 + 5 + 4) < 16 ? (W[((0 + 5 + 4)) & 0x0F]) : ((W[((0 + 5 + 4)) & 0x0F]) = ((((W[((0 + 5 + 4)) & 0x0F]) ^ (W[((0 + 5 + 4) - 14) & 0x0F]) ^ (W[((0 + 5 + 4) - 8) & 0x0F]) ^ (W[((0 + 5 + 4) - 3) & 0x0F])) << (1)) | (((W[((0 + 5 + 4)) & 0x0F]) ^ (W[((0 + 5 + 4) - 14) & 0x0F]) ^ (W[((0 + 5 + 4) - 8) & 0x0F]) ^ (W[((0 + 5 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) + ((0 + 10 + 0) < 16 ? (W[((0 + 10 + 0)) & 0x0F]) : ((W[((0 + 10 + 0)) & 0x0F]) = ((((W[((0 + 10 + 0)) & 0x0F]) ^ (W[((0 + 10 + 0) - 14) & 0x0F]) ^ (W[((0 + 10 + 0) - 8) & 0x0F]) ^ (W[((0 + 10 + 0) - 3) & 0x0F])) << (1)) | (((W[((0 + 10 + 0)) & 0x0F]) ^ (W[((0 + 10 + 0) - 14) & 0x0F]) ^ (W[((0 + 10 + 0) - 8) & 0x0F]) ^ (W[((0 + 10 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) + ((0 + 10 + 1) < 16 ? (W[((0 + 10 + 1)) & 0x0F]) : ((W[((0 + 10 + 1)) & 0x0F]) = ((((W[((0 + 10 + 1)) & 0x0F]) ^ (W[((0 + 10 + 1) - 14) & 0x0F]) ^ (W[((0 + 10 + 1) - 8) & 0x0F]) ^ (W[((0 + 10 + 1) - 3) & 0x0F])) << (1)) | (((W[((0 + 10 + 1)) & 0x0F]) ^ (W[((0 + 10 + 1) - 14) & 0x0F]) ^ (W[((0 + 10 + 1) - 8) & 0x0F]) ^ (W[((0 + 10 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) + ((0 + 10 + 2) < 16 ? (W[((0 + 10 + 2)) & 0x0F]) : ((W[((0 + 10 + 2)) & 0x0F]) = ((((W[((0 + 10 + 2)) & 0x0F]) ^ (W[((0 + 10 + 2) - 14) & 0x0F]) ^ (W[((0 + 10 + 2) - 8) & 0x0F]) ^ (W[((0 + 10 + 2) - 3) & 0x0F])) << (1)) | (((W[((0 + 10 + 2)) & 0x0F]) ^ (W[((0 + 10 + 2) - 14) & 0x0F]) ^ (W[((0 + 10 + 2) - 8) & 0x0F]) ^ (W[((0 + 10 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) + ((0 + 10 + 3) < 16 ? (W[((0 + 10 + 3)) & 0x0F]) : ((W[((0 + 10 + 3)) & 0x0F]) = ((((W[((0 + 10 + 3)) & 0x0F]) ^ (W[((0 + 10 + 3) - 14) & 0x0F]) ^ (W[((0 + 10 + 3) - 8) & 0x0F]) ^ (W[((0 + 10 + 3) - 3) & 0x0F])) << (1)) | (((W[((0 + 10 + 3)) & 0x0F]) ^ (W[((0 + 10 + 3) - 14) & 0x0F]) ^ (W[((0 + 10 + 3) - 8) & 0x0F]) ^ (W[((0 + 10 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) + ((0 + 10 + 4) < 16 ? (W[((0 + 10 + 4)) & 0x0F]) : ((W[((0 + 10 + 4)) & 0x0F]) = ((((W[((0 + 10 + 4)) & 0x0F]) ^ (W[((0 + 10 + 4) - 14) & 0x0F]) ^ (W[((0 + 10 + 4) - 8) & 0x0F]) ^ (W[((0 + 10 + 4) - 3) & 0x0F])) << (1)) | (((W[((0 + 10 + 4)) & 0x0F]) ^ (W[((0 + 10 + 4) - 14) & 0x0F]) ^ (W[((0 + 10 + 4) - 8) & 0x0F]) ^ (W[((0 + 10 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((D) ^ ((B) & ((C) ^ (D)))) + ((0 + 15 + 0) < 16 ? (W[((0 + 15 + 0)) & 0x0F]) : ((W[((0 + 15 + 0)) & 0x0F]) = ((((W[((0 + 15 + 0)) & 0x0F]) ^ (W[((0 + 15 + 0) - 14) & 0x0F]) ^ (W[((0 + 15 + 0) - 8) & 0x0F]) ^ (W[((0 + 15 + 0) - 3) & 0x0F])) << (1)) | (((W[((0 + 15 + 0)) & 0x0F]) ^ (W[((0 + 15 + 0) - 14) & 0x0F]) ^ (W[((0 + 15 + 0) - 8) & 0x0F]) ^ (W[((0 + 15 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((C) ^ ((A) & ((B) ^ (C)))) + ((0 + 15 + 1) < 16 ? (W[((0 + 15 + 1)) & 0x0F]) : ((W[((0 + 15 + 1)) & 0x0F]) = ((((W[((0 + 15 + 1)) & 0x0F]) ^ (W[((0 + 15 + 1) - 14) & 0x0F]) ^ (W[((0 + 15 + 1) - 8) & 0x0F]) ^ (W[((0 + 15 + 1) - 3) & 0x0F])) << (1)) | (((W[((0 + 15 + 1)) & 0x0F]) ^ (W[((0 + 15 + 1) - 14) & 0x0F]) ^ (W[((0 + 15 + 1) - 8) & 0x0F]) ^ (W[((0 + 15 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((B) ^ ((E) & ((A) ^ (B)))) + ((0 + 15 + 2) < 16 ? (W[((0 + 15 + 2)) & 0x0F]) : ((W[((0 + 15 + 2)) & 0x0F]) = ((((W[((0 + 15 + 2)) & 0x0F]) ^ (W[((0 + 15 + 2) - 14) & 0x0F]) ^ (W[((0 + 15 + 2) - 8) & 0x0F]) ^ (W[((0 + 15 + 2) - 3) & 0x0F])) << (1)) | (((W[((0 + 15 + 2)) & 0x0F]) ^ (W[((0 + 15 + 2) - 14) & 0x0F]) ^ (W[((0 + 15 + 2) - 8) & 0x0F]) ^ (W[((0 + 15 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((A) ^ ((D) & ((E) ^ (A)))) + ((0 + 15 + 3) < 16 ? (W[((0 + 15 + 3)) & 0x0F]) : ((W[((0 + 15 + 3)) & 0x0F]) = ((((W[((0 + 15 + 3)) & 0x0F]) ^ (W[((0 + 15 + 3) - 14) & 0x0F]) ^ (W[((0 + 15 + 3) - 8) & 0x0F]) ^ (W[((0 + 15 + 3) - 3) & 0x0F])) << (1)) | (((W[((0 + 15 + 3)) & 0x0F]) ^ (W[((0 + 15 + 3) - 14) & 0x0F]) ^ (W[((0 + 15 + 3) - 8) & 0x0F]) ^ (W[((0 + 15 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((E) ^ ((C) & ((D) ^ (E)))) + ((0 + 15 + 4) < 16 ? (W[((0 + 15 + 4)) & 0x0F]) : ((W[((0 + 15 + 4)) & 0x0F]) = ((((W[((0 + 15 + 4)) & 0x0F]) ^ (W[((0 + 15 + 4) - 14) & 0x0F]) ^ (W[((0 + 15 + 4) - 8) & 0x0F]) ^ (W[((0 + 15 + 4) - 3) & 0x0F])) << (1)) | (((W[((0 + 15 + 4)) & 0x0F]) ^ (W[((0 + 15 + 4) - 14) & 0x0F]) ^ (W[((0 + 15 + 4) - 8) & 0x0F]) ^ (W[((0 + 15 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x5A827999;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((20 + 0 + 0) < 16 ? (W[((20 + 0 + 0)) & 0x0F]) : ((W[((20 + 0 + 0)) & 0x0F]) = ((((W[((20 + 0 + 0)) & 0x0F]) ^ (W[((20 + 0 + 0) - 14) & 0x0F]) ^ (W[((20 + 0 + 0) - 8) & 0x0F]) ^ (W[((20 + 0 + 0) - 3) & 0x0F])) << (1)) | (((W[((20 + 0 + 0)) & 0x0F]) ^ (W[((20 + 0 + 0) - 14) & 0x0F]) ^ (W[((20 + 0 + 0) - 8) & 0x0F]) ^ (W[((20 + 0 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((20 + 0 + 1) < 16 ? (W[((20 + 0 + 1)) & 0x0F]) : ((W[((20 + 0 + 1)) & 0x0F]) = ((((W[((20 + 0 + 1)) & 0x0F]) ^ (W[((20 + 0 + 1) - 14) & 0x0F]) ^ (W[((20 + 0 + 1) - 8) & 0x0F]) ^ (W[((20 + 0 + 1) - 3) & 0x0F])) << (1)) | (((W[((20 + 0 + 1)) & 0x0F]) ^ (W[((20 + 0 + 1) - 14) & 0x0F]) ^ (W[((20 + 0 + 1) - 8) & 0x0F]) ^ (W[((20 + 0 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((20 + 0 + 2) < 16 ? (W[((20 + 0 + 2)) & 0x0F]) : ((W[((20 + 0 + 2)) & 0x0F]) = ((((W[((20 + 0 + 2)) & 0x0F]) ^ (W[((20 + 0 + 2) - 14) & 0x0F]) ^ (W[((20 + 0 + 2) - 8) & 0x0F]) ^ (W[((20 + 0 + 2) - 3) & 0x0F])) << (1)) | (((W[((20 + 0 + 2)) & 0x0F]) ^ (W[((20 + 0 + 2) - 14) & 0x0F]) ^ (W[((20 + 0 + 2) - 8) & 0x0F]) ^ (W[((20 + 0 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((20 + 0 + 3) < 16 ? (W[((20 + 0 + 3)) & 0x0F]) : ((W[((20 + 0 + 3)) & 0x0F]) = ((((W[((20 + 0 + 3)) & 0x0F]) ^ (W[((20 + 0 + 3) - 14) & 0x0F]) ^ (W[((20 + 0 + 3) - 8) & 0x0F]) ^ (W[((20 + 0 + 3) - 3) & 0x0F])) << (1)) | (((W[((20 + 0 + 3)) & 0x0F]) ^ (W[((20 + 0 + 3) - 14) & 0x0F]) ^ (W[((20 + 0 + 3) - 8) & 0x0F]) ^ (W[((20 + 0 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((20 + 0 + 4) < 16 ? (W[((20 + 0 + 4)) & 0x0F]) : ((W[((20 + 0 + 4)) & 0x0F]) = ((((W[((20 + 0 + 4)) & 0x0F]) ^ (W[((20 + 0 + 4) - 14) & 0x0F]) ^ (W[((20 + 0 + 4) - 8) & 0x0F]) ^ (W[((20 + 0 + 4) - 3) & 0x0F])) << (1)) | (((W[((20 + 0 + 4)) & 0x0F]) ^ (W[((20 + 0 + 4) - 14) & 0x0F]) ^ (W[((20 + 0 + 4) - 8) & 0x0F]) ^ (W[((20 + 0 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((20 + 5 + 0) < 16 ? (W[((20 + 5 + 0)) & 0x0F]) : ((W[((20 + 5 + 0)) & 0x0F]) = ((((W[((20 + 5 + 0)) & 0x0F]) ^ (W[((20 + 5 + 0) - 14) & 0x0F]) ^ (W[((20 + 5 + 0) - 8) & 0x0F]) ^ (W[((20 + 5 + 0) - 3) & 0x0F])) << (1)) | (((W[((20 + 5 + 0)) & 0x0F]) ^ (W[((20 + 5 + 0) - 14) & 0x0F]) ^ (W[((20 + 5 + 0) - 8) & 0x0F]) ^ (W[((20 + 5 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((20 + 5 + 1) < 16 ? (W[((20 + 5 + 1)) & 0x0F]) : ((W[((20 + 5 + 1)) & 0x0F]) = ((((W[((20 + 5 + 1)) & 0x0F]) ^ (W[((20 + 5 + 1) - 14) & 0x0F]) ^ (W[((20 + 5 + 1) - 8) & 0x0F]) ^ (W[((20 + 5 + 1) - 3) & 0x0F])) << (1)) | (((W[((20 + 5 + 1)) & 0x0F]) ^ (W[((20 + 5 + 1) - 14) & 0x0F]) ^ (W[((20 + 5 + 1) - 8) & 0x0F]) ^ (W[((20 + 5 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((20 + 5 + 2) < 16 ? (W[((20 + 5 + 2)) & 0x0F]) : ((W[((20 + 5 + 2)) & 0x0F]) = ((((W[((20 + 5 + 2)) & 0x0F]) ^ (W[((20 + 5 + 2) - 14) & 0x0F]) ^ (W[((20 + 5 + 2) - 8) & 0x0F]) ^ (W[((20 + 5 + 2) - 3) & 0x0F])) << (1)) | (((W[((20 + 5 + 2)) & 0x0F]) ^ (W[((20 + 5 + 2) - 14) & 0x0F]) ^ (W[((20 + 5 + 2) - 8) & 0x0F]) ^ (W[((20 + 5 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((20 + 5 + 3) < 16 ? (W[((20 + 5 + 3)) & 0x0F]) : ((W[((20 + 5 + 3)) & 0x0F]) = ((((W[((20 + 5 + 3)) & 0x0F]) ^ (W[((20 + 5 + 3) - 14) & 0x0F]) ^ (W[((20 + 5 + 3) - 8) & 0x0F]) ^ (W[((20 + 5 + 3) - 3) & 0x0F])) << (1)) | (((W[((20 + 5 + 3)) & 0x0F]) ^ (W[((20 + 5 + 3) - 14) & 0x0F]) ^ (W[((20 + 5 + 3) - 8) & 0x0F]) ^ (W[((20 + 5 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((20 + 5 + 4) < 16 ? (W[((20 + 5 + 4)) & 0x0F]) : ((W[((20 + 5 + 4)) & 0x0F]) = ((((W[((20 + 5 + 4)) & 0x0F]) ^ (W[((20 + 5 + 4) - 14) & 0x0F]) ^ (W[((20 + 5 + 4) - 8) & 0x0F]) ^ (W[((20 + 5 + 4) - 3) & 0x0F])) << (1)) | (((W[((20 + 5 + 4)) & 0x0F]) ^ (W[((20 + 5 + 4) - 14) & 0x0F]) ^ (W[((20 + 5 + 4) - 8) & 0x0F]) ^ (W[((20 + 5 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((20 + 10 + 0) < 16 ? (W[((20 + 10 + 0)) & 0x0F]) : ((W[((20 + 10 + 0)) & 0x0F]) = ((((W[((20 + 10 + 0)) & 0x0F]) ^ (W[((20 + 10 + 0) - 14) & 0x0F]) ^ (W[((20 + 10 + 0) - 8) & 0x0F]) ^ (W[((20 + 10 + 0) - 3) & 0x0F])) << (1)) | (((W[((20 + 10 + 0)) & 0x0F]) ^ (W[((20 + 10 + 0) - 14) & 0x0F]) ^ (W[((20 + 10 + 0) - 8) & 0x0F]) ^ (W[((20 + 10 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((20 + 10 + 1) < 16 ? (W[((20 + 10 + 1)) & 0x0F]) : ((W[((20 + 10 + 1)) & 0x0F]) = ((((W[((20 + 10 + 1)) & 0x0F]) ^ (W[((20 + 10 + 1) - 14) & 0x0F]) ^ (W[((20 + 10 + 1) - 8) & 0x0F]) ^ (W[((20 + 10 + 1) - 3) & 0x0F])) << (1)) | (((W[((20 + 10 + 1)) & 0x0F]) ^ (W[((20 + 10 + 1) - 14) & 0x0F]) ^ (W[((20 + 10 + 1) - 8) & 0x0F]) ^ (W[((20 + 10 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((20 + 10 + 2) < 16 ? (W[((20 + 10 + 2)) & 0x0F]) : ((W[((20 + 10 + 2)) & 0x0F]) = ((((W[((20 + 10 + 2)) & 0x0F]) ^ (W[((20 + 10 + 2) - 14) & 0x0F]) ^ (W[((20 + 10 + 2) - 8) & 0x0F]) ^ (W[((20 + 10 + 2) - 3) & 0x0F])) << (1)) | (((W[((20 + 10 + 2)) & 0x0F]) ^ (W[((20 + 10 + 2) - 14) & 0x0F]) ^ (W[((20 + 10 + 2) - 8) & 0x0F]) ^ (W[((20 + 10 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((20 + 10 + 3) < 16 ? (W[((20 + 10 + 3)) & 0x0F]) : ((W[((20 + 10 + 3)) & 0x0F]) = ((((W[((20 + 10 + 3)) & 0x0F]) ^ (W[((20 + 10 + 3) - 14) & 0x0F]) ^ (W[((20 + 10 + 3) - 8) & 0x0F]) ^ (W[((20 + 10 + 3) - 3) & 0x0F])) << (1)) | (((W[((20 + 10 + 3)) & 0x0F]) ^ (W[((20 + 10 + 3) - 14) & 0x0F]) ^ (W[((20 + 10 + 3) - 8) & 0x0F]) ^ (W[((20 + 10 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((20 + 10 + 4) < 16 ? (W[((20 + 10 + 4)) & 0x0F]) : ((W[((20 + 10 + 4)) & 0x0F]) = ((((W[((20 + 10 + 4)) & 0x0F]) ^ (W[((20 + 10 + 4) - 14) & 0x0F]) ^ (W[((20 + 10 + 4) - 8) & 0x0F]) ^ (W[((20 + 10 + 4) - 3) & 0x0F])) << (1)) | (((W[((20 + 10 + 4)) & 0x0F]) ^ (W[((20 + 10 + 4) - 14) & 0x0F]) ^ (W[((20 + 10 + 4) - 8) & 0x0F]) ^ (W[((20 + 10 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((20 + 15 + 0) < 16 ? (W[((20 + 15 + 0)) & 0x0F]) : ((W[((20 + 15 + 0)) & 0x0F]) = ((((W[((20 + 15 + 0)) & 0x0F]) ^ (W[((20 + 15 + 0) - 14) & 0x0F]) ^ (W[((20 + 15 + 0) - 8) & 0x0F]) ^ (W[((20 + 15 + 0) - 3) & 0x0F])) << (1)) | (((W[((20 + 15 + 0)) & 0x0F]) ^ (W[((20 + 15 + 0) - 14) & 0x0F]) ^ (W[((20 + 15 + 0) - 8) & 0x0F]) ^ (W[((20 + 15 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((20 + 15 + 1) < 16 ? (W[((20 + 15 + 1)) & 0x0F]) : ((W[((20 + 15 + 1)) & 0x0F]) = ((((W[((20 + 15 + 1)) & 0x0F]) ^ (W[((20 + 15 + 1) - 14) & 0x0F]) ^ (W[((20 + 15 + 1) - 8) & 0x0F]) ^ (W[((20 + 15 + 1) - 3) & 0x0F])) << (1)) | (((W[((20 + 15 + 1)) & 0x0F]) ^ (W[((20 + 15 + 1) - 14) & 0x0F]) ^ (W[((20 + 15 + 1) - 8) & 0x0F]) ^ (W[((20 + 15 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((20 + 15 + 2) < 16 ? (W[((20 + 15 + 2)) & 0x0F]) : ((W[((20 + 15 + 2)) & 0x0F]) = ((((W[((20 + 15 + 2)) & 0x0F]) ^ (W[((20 + 15 + 2) - 14) & 0x0F]) ^ (W[((20 + 15 + 2) - 8) & 0x0F]) ^ (W[((20 + 15 + 2) - 3) & 0x0F])) << (1)) | (((W[((20 + 15 + 2)) & 0x0F]) ^ (W[((20 + 15 + 2) - 14) & 0x0F]) ^ (W[((20 + 15 + 2) - 8) & 0x0F]) ^ (W[((20 + 15 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((20 + 15 + 3) < 16 ? (W[((20 + 15 + 3)) & 0x0F]) : ((W[((20 + 15 + 3)) & 0x0F]) = ((((W[((20 + 15 + 3)) & 0x0F]) ^ (W[((20 + 15 + 3) - 14) & 0x0F]) ^ (W[((20 + 15 + 3) - 8) & 0x0F]) ^ (W[((20 + 15 + 3) - 3) & 0x0F])) << (1)) | (((W[((20 + 15 + 3)) & 0x0F]) ^ (W[((20 + 15 + 3) - 14) & 0x0F]) ^ (W[((20 + 15 + 3) - 8) & 0x0F]) ^ (W[((20 + 15 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((20 + 15 + 4) < 16 ? (W[((20 + 15 + 4)) & 0x0F]) : ((W[((20 + 15 + 4)) & 0x0F]) = ((((W[((20 + 15 + 4)) & 0x0F]) ^ (W[((20 + 15 + 4) - 14) & 0x0F]) ^ (W[((20 + 15 + 4) - 8) & 0x0F]) ^ (W[((20 + 15 + 4) - 3) & 0x0F])) << (1)) | (((W[((20 + 15 + 4)) & 0x0F]) ^ (W[((20 + 15 + 4) - 14) & 0x0F]) ^ (W[((20 + 15 + 4) - 8) & 0x0F]) ^ (W[((20 + 15 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x6ED9EBA1;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + (((B) & ((C) | (D))) | ((C) & (D))) + ((40 + 0 + 0) < 16 ? (W[((40 + 0 + 0)) & 0x0F]) : ((W[((40 + 0 + 0)) & 0x0F]) = ((((W[((40 + 0 + 0)) & 0x0F]) ^ (W[((40 + 0 + 0) - 14) & 0x0F]) ^ (W[((40 + 0 + 0) - 8) & 0x0F]) ^ (W[((40 + 0 + 0) - 3) & 0x0F])) << (1)) | (((W[((40 + 0 + 0)) & 0x0F]) ^ (W[((40 + 0 + 0) - 14) & 0x0F]) ^ (W[((40 + 0 + 0) - 8) & 0x0F]) ^ (W[((40 + 0 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + (((A) & ((B) | (C))) | ((B) & (C))) + ((40 + 0 + 1) < 16 ? (W[((40 + 0 + 1)) & 0x0F]) : ((W[((40 + 0 + 1)) & 0x0F]) = ((((W[((40 + 0 + 1)) & 0x0F]) ^ (W[((40 + 0 + 1) - 14) & 0x0F]) ^ (W[((40 + 0 + 1) - 8) & 0x0F]) ^ (W[((40 + 0 + 1) - 3) & 0x0F])) << (1)) | (((W[((40 + 0 + 1)) & 0x0F]) ^ (W[((40 + 0 + 1) - 14) & 0x0F]) ^ (W[((40 + 0 + 1) - 8) & 0x0F]) ^ (W[((40 + 0 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + (((E) & ((A) | (B))) | ((A) & (B))) + ((40 + 0 + 2) < 16 ? (W[((40 + 0 + 2)) & 0x0F]) : ((W[((40 + 0 + 2)) & 0x0F]) = ((((W[((40 + 0 + 2)) & 0x0F]) ^ (W[((40 + 0 + 2) - 14) & 0x0F]) ^ (W[((40 + 0 + 2) - 8) & 0x0F]) ^ (W[((40 + 0 + 2) - 3) & 0x0F])) << (1)) | (((W[((40 + 0 + 2)) & 0x0F]) ^ (W[((40 + 0 + 2) - 14) & 0x0F]) ^ (W[((40 + 0 + 2) - 8) & 0x0F]) ^ (W[((40 + 0 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + (((D) & ((E) | (A))) | ((E) & (A))) + ((40 + 0 + 3) < 16 ? (W[((40 + 0 + 3)) & 0x0F]) : ((W[((40 + 0 + 3)) & 0x0F]) = ((((W[((40 + 0 + 3)) & 0x0F]) ^ (W[((40 + 0 + 3) - 14) & 0x0F]) ^ (W[((40 + 0 + 3) - 8) & 0x0F]) ^ (W[((40 + 0 + 3) - 3) & 0x0F])) << (1)) | (((W[((40 + 0 + 3)) & 0x0F]) ^ (W[((40 + 0 + 3) - 14) & 0x0F]) ^ (W[((40 + 0 + 3) - 8) & 0x0F]) ^ (W[((40 + 0 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + (((C) & ((D) | (E))) | ((D) & (E))) + ((40 + 0 + 4) < 16 ? (W[((40 + 0 + 4)) & 0x0F]) : ((W[((40 + 0 + 4)) & 0x0F]) = ((((W[((40 + 0 + 4)) & 0x0F]) ^ (W[((40 + 0 + 4) - 14) & 0x0F]) ^ (W[((40 + 0 + 4) - 8) & 0x0F]) ^ (W[((40 + 0 + 4) - 3) & 0x0F])) << (1)) | (((W[((40 + 0 + 4)) & 0x0F]) ^ (W[((40 + 0 + 4) - 14) & 0x0F]) ^ (W[((40 + 0 + 4) - 8) & 0x0F]) ^ (W[((40 + 0 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + (((B) & ((C) | (D))) | ((C) & (D))) + ((40 + 5 + 0) < 16 ? (W[((40 + 5 + 0)) & 0x0F]) : ((W[((40 + 5 + 0)) & 0x0F]) = ((((W[((40 + 5 + 0)) & 0x0F]) ^ (W[((40 + 5 + 0) - 14) & 0x0F]) ^ (W[((40 + 5 + 0) - 8) & 0x0F]) ^ (W[((40 + 5 + 0) - 3) & 0x0F])) << (1)) | (((W[((40 + 5 + 0)) & 0x0F]) ^ (W[((40 + 5 + 0) - 14) & 0x0F]) ^ (W[((40 + 5 + 0) - 8) & 0x0F]) ^ (W[((40 + 5 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + (((A) & ((B) | (C))) | ((B) & (C))) + ((40 + 5 + 1) < 16 ? (W[((40 + 5 + 1)) & 0x0F]) : ((W[((40 + 5 + 1)) & 0x0F]) = ((((W[((40 + 5 + 1)) & 0x0F]) ^ (W[((40 + 5 + 1) - 14) & 0x0F]) ^ (W[((40 + 5 + 1) - 8) & 0x0F]) ^ (W[((40 + 5 + 1) - 3) & 0x0F])) << (1)) | (((W[((40 + 5 + 1)) & 0x0F]) ^ (W[((40 + 5 + 1) - 14) & 0x0F]) ^ (W[((40 + 5 + 1) - 8) & 0x0F]) ^ (W[((40 + 5 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + (((E) & ((A) | (B))) | ((A) & (B))) + ((40 + 5 + 2) < 16 ? (W[((40 + 5 + 2)) & 0x0F]) : ((W[((40 + 5 + 2)) & 0x0F]) = ((((W[((40 + 5 + 2)) & 0x0F]) ^ (W[((40 + 5 + 2) - 14) & 0x0F]) ^ (W[((40 + 5 + 2) - 8) & 0x0F]) ^ (W[((40 + 5 + 2) - 3) & 0x0F])) << (1)) | (((W[((40 + 5 + 2)) & 0x0F]) ^ (W[((40 + 5 + 2) - 14) & 0x0F]) ^ (W[((40 + 5 + 2) - 8) & 0x0F]) ^ (W[((40 + 5 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + (((D) & ((E) | (A))) | ((E) & (A))) + ((40 + 5 + 3) < 16 ? (W[((40 + 5 + 3)) & 0x0F]) : ((W[((40 + 5 + 3)) & 0x0F]) = ((((W[((40 + 5 + 3)) & 0x0F]) ^ (W[((40 + 5 + 3) - 14) & 0x0F]) ^ (W[((40 + 5 + 3) - 8) & 0x0F]) ^ (W[((40 + 5 + 3) - 3) & 0x0F])) << (1)) | (((W[((40 + 5 + 3)) & 0x0F]) ^ (W[((40 + 5 + 3) - 14) & 0x0F]) ^ (W[((40 + 5 + 3) - 8) & 0x0F]) ^ (W[((40 + 5 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + (((C) & ((D) | (E))) | ((D) & (E))) + ((40 + 5 + 4) < 16 ? (W[((40 + 5 + 4)) & 0x0F]) : ((W[((40 + 5 + 4)) & 0x0F]) = ((((W[((40 + 5 + 4)) & 0x0F]) ^ (W[((40 + 5 + 4) - 14) & 0x0F]) ^ (W[((40 + 5 + 4) - 8) & 0x0F]) ^ (W[((40 + 5 + 4) - 3) & 0x0F])) << (1)) | (((W[((40 + 5 + 4)) & 0x0F]) ^ (W[((40 + 5 + 4) - 14) & 0x0F]) ^ (W[((40 + 5 + 4) - 8) & 0x0F]) ^ (W[((40 + 5 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + (((B) & ((C) | (D))) | ((C) & (D))) + ((40 + 10 + 0) < 16 ? (W[((40 + 10 + 0)) & 0x0F]) : ((W[((40 + 10 + 0)) & 0x0F]) = ((((W[((40 + 10 + 0)) & 0x0F]) ^ (W[((40 + 10 + 0) - 14) & 0x0F]) ^ (W[((40 + 10 + 0) - 8) & 0x0F]) ^ (W[((40 + 10 + 0) - 3) & 0x0F])) << (1)) | (((W[((40 + 10 + 0)) & 0x0F]) ^ (W[((40 + 10 + 0) - 14) & 0x0F]) ^ (W[((40 + 10 + 0) - 8) & 0x0F]) ^ (W[((40 + 10 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + (((A) & ((B) | (C))) | ((B) & (C))) + ((40 + 10 + 1) < 16 ? (W[((40 + 10 + 1)) & 0x0F]) : ((W[((40 + 10 + 1)) & 0x0F]) = ((((W[((40 + 10 + 1)) & 0x0F]) ^ (W[((40 + 10 + 1) - 14) & 0x0F]) ^ (W[((40 + 10 + 1) - 8) & 0x0F]) ^ (W[((40 + 10 + 1) - 3) & 0x0F])) << (1)) | (((W[((40 + 10 + 1)) & 0x0F]) ^ (W[((40 + 10 + 1) - 14) & 0x0F]) ^ (W[((40 + 10 + 1) - 8) & 0x0F]) ^ (W[((40 + 10 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + (((E) & ((A) | (B))) | ((A) & (B))) + ((40 + 10 + 2) < 16 ? (W[((40 + 10 + 2)) & 0x0F]) : ((W[((40 + 10 + 2)) & 0x0F]) = ((((W[((40 + 10 + 2)) & 0x0F]) ^ (W[((40 + 10 + 2) - 14) & 0x0F]) ^ (W[((40 + 10 + 2) - 8) & 0x0F]) ^ (W[((40 + 10 + 2) - 3) & 0x0F])) << (1)) | (((W[((40 + 10 + 2)) & 0x0F]) ^ (W[((40 + 10 + 2) - 14) & 0x0F]) ^ (W[((40 + 10 + 2) - 8) & 0x0F]) ^ (W[((40 + 10 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + (((D) & ((E) | (A))) | ((E) & (A))) + ((40 + 10 + 3) < 16 ? (W[((40 + 10 + 3)) & 0x0F]) : ((W[((40 + 10 + 3)) & 0x0F]) = ((((W[((40 + 10 + 3)) & 0x0F]) ^ (W[((40 + 10 + 3) - 14) & 0x0F]) ^ (W[((40 + 10 + 3) - 8) & 0x0F]) ^ (W[((40 + 10 + 3) - 3) & 0x0F])) << (1)) | (((W[((40 + 10 + 3)) & 0x0F]) ^ (W[((40 + 10 + 3) - 14) & 0x0F]) ^ (W[((40 + 10 + 3) - 8) & 0x0F]) ^ (W[((40 + 10 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + (((C) & ((D) | (E))) | ((D) & (E))) + ((40 + 10 + 4) < 16 ? (W[((40 + 10 + 4)) & 0x0F]) : ((W[((40 + 10 + 4)) & 0x0F]) = ((((W[((40 + 10 + 4)) & 0x0F]) ^ (W[((40 + 10 + 4) - 14) & 0x0F]) ^ (W[((40 + 10 + 4) - 8) & 0x0F]) ^ (W[((40 + 10 + 4) - 3) & 0x0F])) << (1)) | (((W[((40 + 10 + 4)) & 0x0F]) ^ (W[((40 + 10 + 4) - 14) & 0x0F]) ^ (W[((40 + 10 + 4) - 8) & 0x0F]) ^ (W[((40 + 10 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + (((B) & ((C) | (D))) | ((C) & (D))) + ((40 + 15 + 0) < 16 ? (W[((40 + 15 + 0)) & 0x0F]) : ((W[((40 + 15 + 0)) & 0x0F]) = ((((W[((40 + 15 + 0)) & 0x0F]) ^ (W[((40 + 15 + 0) - 14) & 0x0F]) ^ (W[((40 + 15 + 0) - 8) & 0x0F]) ^ (W[((40 + 15 + 0) - 3) & 0x0F])) << (1)) | (((W[((40 + 15 + 0)) & 0x0F]) ^ (W[((40 + 15 + 0) - 14) & 0x0F]) ^ (W[((40 + 15 + 0) - 8) & 0x0F]) ^ (W[((40 + 15 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + (((A) & ((B) | (C))) | ((B) & (C))) + ((40 + 15 + 1) < 16 ? (W[((40 + 15 + 1)) & 0x0F]) : ((W[((40 + 15 + 1)) & 0x0F]) = ((((W[((40 + 15 + 1)) & 0x0F]) ^ (W[((40 + 15 + 1) - 14) & 0x0F]) ^ (W[((40 + 15 + 1) - 8) & 0x0F]) ^ (W[((40 + 15 + 1) - 3) & 0x0F])) << (1)) | (((W[((40 + 15 + 1)) & 0x0F]) ^ (W[((40 + 15 + 1) - 14) & 0x0F]) ^ (W[((40 + 15 + 1) - 8) & 0x0F]) ^ (W[((40 + 15 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + (((E) & ((A) | (B))) | ((A) & (B))) + ((40 + 15 + 2) < 16 ? (W[((40 + 15 + 2)) & 0x0F]) : ((W[((40 + 15 + 2)) & 0x0F]) = ((((W[((40 + 15 + 2)) & 0x0F]) ^ (W[((40 + 15 + 2) - 14) & 0x0F]) ^ (W[((40 + 15 + 2) - 8) & 0x0F]) ^ (W[((40 + 15 + 2) - 3) & 0x0F])) << (1)) | (((W[((40 + 15 + 2)) & 0x0F]) ^ (W[((40 + 15 + 2) - 14) & 0x0F]) ^ (W[((40 + 15 + 2) - 8) & 0x0F]) ^ (W[((40 + 15 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + (((D) & ((E) | (A))) | ((E) & (A))) + ((40 + 15 + 3) < 16 ? (W[((40 + 15 + 3)) & 0x0F]) : ((W[((40 + 15 + 3)) & 0x0F]) = ((((W[((40 + 15 + 3)) & 0x0F]) ^ (W[((40 + 15 + 3) - 14) & 0x0F]) ^ (W[((40 + 15 + 3) - 8) & 0x0F]) ^ (W[((40 + 15 + 3) - 3) & 0x0F])) << (1)) | (((W[((40 + 15 + 3)) & 0x0F]) ^ (W[((40 + 15 + 3) - 14) & 0x0F]) ^ (W[((40 + 15 + 3) - 8) & 0x0F]) ^ (W[((40 + 15 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + (((C) & ((D) | (E))) | ((D) & (E))) + ((40 + 15 + 4) < 16 ? (W[((40 + 15 + 4)) & 0x0F]) : ((W[((40 + 15 + 4)) & 0x0F]) = ((((W[((40 + 15 + 4)) & 0x0F]) ^ (W[((40 + 15 + 4) - 14) & 0x0F]) ^ (W[((40 + 15 + 4) - 8) & 0x0F]) ^ (W[((40 + 15 + 4) - 3) & 0x0F])) << (1)) | (((W[((40 + 15 + 4)) & 0x0F]) ^ (W[((40 + 15 + 4) - 14) & 0x0F]) ^ (W[((40 + 15 + 4) - 8) & 0x0F]) ^ (W[((40 + 15 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0x8F1BBCDC;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((60 + 0 + 0) < 16 ? (W[((60 + 0 + 0)) & 0x0F]) : ((W[((60 + 0 + 0)) & 0x0F]) = ((((W[((60 + 0 + 0)) & 0x0F]) ^ (W[((60 + 0 + 0) - 14) & 0x0F]) ^ (W[((60 + 0 + 0) - 8) & 0x0F]) ^ (W[((60 + 0 + 0) - 3) & 0x0F])) << (1)) | (((W[((60 + 0 + 0)) & 0x0F]) ^ (W[((60 + 0 + 0) - 14) & 0x0F]) ^ (W[((60 + 0 + 0) - 8) & 0x0F]) ^ (W[((60 + 0 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((60 + 0 + 1) < 16 ? (W[((60 + 0 + 1)) & 0x0F]) : ((W[((60 + 0 + 1)) & 0x0F]) = ((((W[((60 + 0 + 1)) & 0x0F]) ^ (W[((60 + 0 + 1) - 14) & 0x0F]) ^ (W[((60 + 0 + 1) - 8) & 0x0F]) ^ (W[((60 + 0 + 1) - 3) & 0x0F])) << (1)) | (((W[((60 + 0 + 1)) & 0x0F]) ^ (W[((60 + 0 + 1) - 14) & 0x0F]) ^ (W[((60 + 0 + 1) - 8) & 0x0F]) ^ (W[((60 + 0 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((60 + 0 + 2) < 16 ? (W[((60 + 0 + 2)) & 0x0F]) : ((W[((60 + 0 + 2)) & 0x0F]) = ((((W[((60 + 0 + 2)) & 0x0F]) ^ (W[((60 + 0 + 2) - 14) & 0x0F]) ^ (W[((60 + 0 + 2) - 8) & 0x0F]) ^ (W[((60 + 0 + 2) - 3) & 0x0F])) << (1)) | (((W[((60 + 0 + 2)) & 0x0F]) ^ (W[((60 + 0 + 2) - 14) & 0x0F]) ^ (W[((60 + 0 + 2) - 8) & 0x0F]) ^ (W[((60 + 0 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((60 + 0 + 3) < 16 ? (W[((60 + 0 + 3)) & 0x0F]) : ((W[((60 + 0 + 3)) & 0x0F]) = ((((W[((60 + 0 + 3)) & 0x0F]) ^ (W[((60 + 0 + 3) - 14) & 0x0F]) ^ (W[((60 + 0 + 3) - 8) & 0x0F]) ^ (W[((60 + 0 + 3) - 3) & 0x0F])) << (1)) | (((W[((60 + 0 + 3)) & 0x0F]) ^ (W[((60 + 0 + 3) - 14) & 0x0F]) ^ (W[((60 + 0 + 3) - 8) & 0x0F]) ^ (W[((60 + 0 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((60 + 0 + 4) < 16 ? (W[((60 + 0 + 4)) & 0x0F]) : ((W[((60 + 0 + 4)) & 0x0F]) = ((((W[((60 + 0 + 4)) & 0x0F]) ^ (W[((60 + 0 + 4) - 14) & 0x0F]) ^ (W[((60 + 0 + 4) - 8) & 0x0F]) ^ (W[((60 + 0 + 4) - 3) & 0x0F])) << (1)) | (((W[((60 + 0 + 4)) & 0x0F]) ^ (W[((60 + 0 + 4) - 14) & 0x0F]) ^ (W[((60 + 0 + 4) - 8) & 0x0F]) ^ (W[((60 + 0 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((60 + 5 + 0) < 16 ? (W[((60 + 5 + 0)) & 0x0F]) : ((W[((60 + 5 + 0)) & 0x0F]) = ((((W[((60 + 5 + 0)) & 0x0F]) ^ (W[((60 + 5 + 0) - 14) & 0x0F]) ^ (W[((60 + 5 + 0) - 8) & 0x0F]) ^ (W[((60 + 5 + 0) - 3) & 0x0F])) << (1)) | (((W[((60 + 5 + 0)) & 0x0F]) ^ (W[((60 + 5 + 0) - 14) & 0x0F]) ^ (W[((60 + 5 + 0) - 8) & 0x0F]) ^ (W[((60 + 5 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((60 + 5 + 1) < 16 ? (W[((60 + 5 + 1)) & 0x0F]) : ((W[((60 + 5 + 1)) & 0x0F]) = ((((W[((60 + 5 + 1)) & 0x0F]) ^ (W[((60 + 5 + 1) - 14) & 0x0F]) ^ (W[((60 + 5 + 1) - 8) & 0x0F]) ^ (W[((60 + 5 + 1) - 3) & 0x0F])) << (1)) | (((W[((60 + 5 + 1)) & 0x0F]) ^ (W[((60 + 5 + 1) - 14) & 0x0F]) ^ (W[((60 + 5 + 1) - 8) & 0x0F]) ^ (W[((60 + 5 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((60 + 5 + 2) < 16 ? (W[((60 + 5 + 2)) & 0x0F]) : ((W[((60 + 5 + 2)) & 0x0F]) = ((((W[((60 + 5 + 2)) & 0x0F]) ^ (W[((60 + 5 + 2) - 14) & 0x0F]) ^ (W[((60 + 5 + 2) - 8) & 0x0F]) ^ (W[((60 + 5 + 2) - 3) & 0x0F])) << (1)) | (((W[((60 + 5 + 2)) & 0x0F]) ^ (W[((60 + 5 + 2) - 14) & 0x0F]) ^ (W[((60 + 5 + 2) - 8) & 0x0F]) ^ (W[((60 + 5 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((60 + 5 + 3) < 16 ? (W[((60 + 5 + 3)) & 0x0F]) : ((W[((60 + 5 + 3)) & 0x0F]) = ((((W[((60 + 5 + 3)) & 0x0F]) ^ (W[((60 + 5 + 3) - 14) & 0x0F]) ^ (W[((60 + 5 + 3) - 8) & 0x0F]) ^ (W[((60 + 5 + 3) - 3) & 0x0F])) << (1)) | (((W[((60 + 5 + 3)) & 0x0F]) ^ (W[((60 + 5 + 3) - 14) & 0x0F]) ^ (W[((60 + 5 + 3) - 8) & 0x0F]) ^ (W[((60 + 5 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((60 + 5 + 4) < 16 ? (W[((60 + 5 + 4)) & 0x0F]) : ((W[((60 + 5 + 4)) & 0x0F]) = ((((W[((60 + 5 + 4)) & 0x0F]) ^ (W[((60 + 5 + 4) - 14) & 0x0F]) ^ (W[((60 + 5 + 4) - 8) & 0x0F]) ^ (W[((60 + 5 + 4) - 3) & 0x0F])) << (1)) | (((W[((60 + 5 + 4)) & 0x0F]) ^ (W[((60 + 5 + 4) - 14) & 0x0F]) ^ (W[((60 + 5 + 4) - 8) & 0x0F]) ^ (W[((60 + 5 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((60 + 10 + 0) < 16 ? (W[((60 + 10 + 0)) & 0x0F]) : ((W[((60 + 10 + 0)) & 0x0F]) = ((((W[((60 + 10 + 0)) & 0x0F]) ^ (W[((60 + 10 + 0) - 14) & 0x0F]) ^ (W[((60 + 10 + 0) - 8) & 0x0F]) ^ (W[((60 + 10 + 0) - 3) & 0x0F])) << (1)) | (((W[((60 + 10 + 0)) & 0x0F]) ^ (W[((60 + 10 + 0) - 14) & 0x0F]) ^ (W[((60 + 10 + 0) - 8) & 0x0F]) ^ (W[((60 + 10 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((60 + 10 + 1) < 16 ? (W[((60 + 10 + 1)) & 0x0F]) : ((W[((60 + 10 + 1)) & 0x0F]) = ((((W[((60 + 10 + 1)) & 0x0F]) ^ (W[((60 + 10 + 1) - 14) & 0x0F]) ^ (W[((60 + 10 + 1) - 8) & 0x0F]) ^ (W[((60 + 10 + 1) - 3) & 0x0F])) << (1)) | (((W[((60 + 10 + 1)) & 0x0F]) ^ (W[((60 + 10 + 1) - 14) & 0x0F]) ^ (W[((60 + 10 + 1) - 8) & 0x0F]) ^ (W[((60 + 10 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((60 + 10 + 2) < 16 ? (W[((60 + 10 + 2)) & 0x0F]) : ((W[((60 + 10 + 2)) & 0x0F]) = ((((W[((60 + 10 + 2)) & 0x0F]) ^ (W[((60 + 10 + 2) - 14) & 0x0F]) ^ (W[((60 + 10 + 2) - 8) & 0x0F]) ^ (W[((60 + 10 + 2) - 3) & 0x0F])) << (1)) | (((W[((60 + 10 + 2)) & 0x0F]) ^ (W[((60 + 10 + 2) - 14) & 0x0F]) ^ (W[((60 + 10 + 2) - 8) & 0x0F]) ^ (W[((60 + 10 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((60 + 10 + 3) < 16 ? (W[((60 + 10 + 3)) & 0x0F]) : ((W[((60 + 10 + 3)) & 0x0F]) = ((((W[((60 + 10 + 3)) & 0x0F]) ^ (W[((60 + 10 + 3) - 14) & 0x0F]) ^ (W[((60 + 10 + 3) - 8) & 0x0F]) ^ (W[((60 + 10 + 3) - 3) & 0x0F])) << (1)) | (((W[((60 + 10 + 3)) & 0x0F]) ^ (W[((60 + 10 + 3) - 14) & 0x0F]) ^ (W[((60 + 10 + 3) - 8) & 0x0F]) ^ (W[((60 + 10 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((60 + 10 + 4) < 16 ? (W[((60 + 10 + 4)) & 0x0F]) : ((W[((60 + 10 + 4)) & 0x0F]) = ((((W[((60 + 10 + 4)) & 0x0F]) ^ (W[((60 + 10 + 4) - 14) & 0x0F]) ^ (W[((60 + 10 + 4) - 8) & 0x0F]) ^ (W[((60 + 10 + 4) - 3) & 0x0F])) << (1)) | (((W[((60 + 10 + 4)) & 0x0F]) ^ (W[((60 + 10 + 4) - 14) & 0x0F]) ^ (W[((60 + 10 + 4) - 8) & 0x0F]) ^ (W[((60 + 10 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  E += (((A) << (5)) | ((A) >> (32 - (5)))) + ((B) ^ (C) ^ (D)) + ((60 + 15 + 0) < 16 ? (W[((60 + 15 + 0)) & 0x0F]) : ((W[((60 + 15 + 0)) & 0x0F]) = ((((W[((60 + 15 + 0)) & 0x0F]) ^ (W[((60 + 15 + 0) - 14) & 0x0F]) ^ (W[((60 + 15 + 0) - 8) & 0x0F]) ^ (W[((60 + 15 + 0) - 3) & 0x0F])) << (1)) | (((W[((60 + 15 + 0)) & 0x0F]) ^ (W[((60 + 15 + 0) - 14) & 0x0F]) ^ (W[((60 + 15 + 0) - 8) & 0x0F]) ^ (W[((60 + 15 + 0) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  B = (((B) << (30)) | ((B) >> (32 - (30))));
  ;
  D += (((E) << (5)) | ((E) >> (32 - (5)))) + ((A) ^ (B) ^ (C)) + ((60 + 15 + 1) < 16 ? (W[((60 + 15 + 1)) & 0x0F]) : ((W[((60 + 15 + 1)) & 0x0F]) = ((((W[((60 + 15 + 1)) & 0x0F]) ^ (W[((60 + 15 + 1) - 14) & 0x0F]) ^ (W[((60 + 15 + 1) - 8) & 0x0F]) ^ (W[((60 + 15 + 1) - 3) & 0x0F])) << (1)) | (((W[((60 + 15 + 1)) & 0x0F]) ^ (W[((60 + 15 + 1) - 14) & 0x0F]) ^ (W[((60 + 15 + 1) - 8) & 0x0F]) ^ (W[((60 + 15 + 1) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  A = (((A) << (30)) | ((A) >> (32 - (30))));
  ;
  C += (((D) << (5)) | ((D) >> (32 - (5)))) + ((E) ^ (A) ^ (B)) + ((60 + 15 + 2) < 16 ? (W[((60 + 15 + 2)) & 0x0F]) : ((W[((60 + 15 + 2)) & 0x0F]) = ((((W[((60 + 15 + 2)) & 0x0F]) ^ (W[((60 + 15 + 2) - 14) & 0x0F]) ^ (W[((60 + 15 + 2) - 8) & 0x0F]) ^ (W[((60 + 15 + 2) - 3) & 0x0F])) << (1)) | (((W[((60 + 15 + 2)) & 0x0F]) ^ (W[((60 + 15 + 2) - 14) & 0x0F]) ^ (W[((60 + 15 + 2) - 8) & 0x0F]) ^ (W[((60 + 15 + 2) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  E = (((E) << (30)) | ((E) >> (32 - (30))));
  ;
  B += (((C) << (5)) | ((C) >> (32 - (5)))) + ((D) ^ (E) ^ (A)) + ((60 + 15 + 3) < 16 ? (W[((60 + 15 + 3)) & 0x0F]) : ((W[((60 + 15 + 3)) & 0x0F]) = ((((W[((60 + 15 + 3)) & 0x0F]) ^ (W[((60 + 15 + 3) - 14) & 0x0F]) ^ (W[((60 + 15 + 3) - 8) & 0x0F]) ^ (W[((60 + 15 + 3) - 3) & 0x0F])) << (1)) | (((W[((60 + 15 + 3)) & 0x0F]) ^ (W[((60 + 15 + 3) - 14) & 0x0F]) ^ (W[((60 + 15 + 3) - 8) & 0x0F]) ^ (W[((60 + 15 + 3) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  D = (((D) << (30)) | ((D) >> (32 - (30))));
  ;
  A += (((B) << (5)) | ((B) >> (32 - (5)))) + ((C) ^ (D) ^ (E)) + ((60 + 15 + 4) < 16 ? (W[((60 + 15 + 4)) & 0x0F]) : ((W[((60 + 15 + 4)) & 0x0F]) = ((((W[((60 + 15 + 4)) & 0x0F]) ^ (W[((60 + 15 + 4) - 14) & 0x0F]) ^ (W[((60 + 15 + 4) - 8) & 0x0F]) ^ (W[((60 + 15 + 4) - 3) & 0x0F])) << (1)) | (((W[((60 + 15 + 4)) & 0x0F]) ^ (W[((60 + 15 + 4) - 14) & 0x0F]) ^ (W[((60 + 15 + 4) - 8) & 0x0F]) ^ (W[((60 + 15 + 4) - 3) & 0x0F])) >> (32 - (1)))))) + 0xCA62C1D6;
  C = (((C) << (30)) | ((C) >> (32 - (30))));
  ;
  H[0] += A;
  H[1] += B;
  H[2] += C;
  H[3] += D;
  H[4] += E;
}
```