Function at 0x14009d2a0
Capabilities:
Encode data using xor
Hash data using sha256

Disassembly:
mov qword [rsp + 0x10], rdx
mov qword [rsp + 8], rcx
push rbx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x78
movups xmm1, xmmword [rcx + 0x10]
mov r14, rdx
movups xmm2, xmmword [rcx]
mov ecx, dword [rdx]
movd r15d, xmm1
movdqa xmm0, xmm1
movd edi, xmm2
movq rbx, xmm1
shr rbx, 0x20
movq r11, xmm2
bswap ecx
psrldq xmm0, 8
mov eax, r15d
shr eax, 0xe
mov r8d, r15d
shl r8d, 0x12
mov edx, ebx
or r8d, eax
movd r10d, xmm0
xor r8d, r15d
shr r11, 0x20
ror r8d, 5
movdqa xmm0, xmm2
xor edx, r10d
mov dword [rsp + 0x34], ecx
and edx, r15d
psrldq xmm0, 8
xor edx, r10d
xor r8d, r15d
add edx, ecx
ror r8d, 6
mov ecx, dword [r14 + 4]
add r8d, edx
movups xmmword [rsp + 0x58], xmm1
mov edx, edi
psrldq xmm1, 8
movq r13, xmm0
shl edx, 0x17
movq rax, xmm1
shr rax, 0x20
add eax, 0x428a2f98
shr r13, 0x20
add r8d, eax
mov eax, edi
shr eax, 9
add r13d, r8d
or edx, eax
xor edx, edi
ror edx, 0xb
xor edx, edi
ror edx, 2
bswap ecx
movups xmmword [rsp + 0x48], xmm2
mov dword [rsp + 0x3c], ecx
psrldq xmm2, 8
movd r9d, xmm2
mov eax, r9d
mov ebp, r9d
xor eax, r11d
and ebp, r11d
and eax, edi
add eax, r8d
lea r8d, [rcx + 0x71374491]
add eax, edx
mov edx, ebx
add ebp, eax
xor edx, r15d
and edx, r13d
mov eax, r13d
ror eax, 0xe
xor edx, ebx
xor eax, r13d
ror eax, 5
xor eax, r13d
ror eax, 6
add eax, r10d
add edx, eax
add r8d, edx
mov edx, ebp
ror edx, 9
lea r12d, [r8 + r9]
mov ecx, dword [r14 + 8]
xor edx, ebp
ror edx, 0xb
mov eax, r11d
xor eax, edi
xor edx, ebp
and eax, ebp
ror edx, 2
add eax, r8d
mov esi, r11d
add eax, edx
and esi, edi
add esi, eax
mov r8d, r12d
ror r8d, 0xe
mov eax, r13d
xor r8d, r12d
xor eax, r15d
ror r8d, 5
and eax, r12d
xor r8d, r12d
xor eax, r15d
ror r8d, 6
mov r9d, esi
add r8d, ebx
ror r9d, 9
mov rbx, qword [rsp + 0xc8]
xor r9d, esi
ror r9d, 0xb
mov edx, ebp
xor edx, edi
xor r9d, esi
and edx, esi
ror r9d, 2
bswap ecx
mov dword [rsp + 0x40], ecx
mov r10d, ebp
add ecx, 0xb5c0fbcf
and r10d, edi
add eax, ecx
mov ecx, dword [rbx + 0xc]
add r8d, eax
mov eax, r12d
add edx, r8d
xor eax, r13d
add edx, r9d
add r10d, edx
mov edx, esi
lea r14d, [r8 + r11]
xor edx, ebp
bswap ecx
and eax, r14d
mov dword [rsp + 0x2c], ecx
add ecx, 0xe9b5dba5
xor eax, r13d
add eax, ecx
and edx, r10d
mov ecx, dword [rbx + 0x10]
mov r8d, r14d
ror r8d, 0xe
mov r9d, r10d
xor r8d, r14d
ror r9d, 9
ror r8d, 5
xor r9d, r10d
xor r8d, r14d
ror r9d, 0xb
ror r8d, 6
xor r9d, r10d
add r8d, r15d
ror r9d, 2
add r8d, eax
mov r11d, esi
add edx, r8d
and r11d, ebp
add edx, r9d
bswap ecx
lea r15d, [r8 + rdi]
mov dword [rsp + 4], ecx
mov eax, r15d
add r11d, edx
ror eax, 0xe
mov edx, r14d
xor eax, r15d
xor edx, r12d
ror eax, 5
and edx, r15d
xor eax, r15d
xor edx, r12d
ror eax, 6
mov r8d, r11d
add eax, r13d
ror r8d, 9
mov r13, qword [rsp + 0xc8]
add edx, eax
xor r8d, r11d
lea eax, [rcx + 0x3956c25b]
add eax, edx
ror r8d, 0xb
add ebp, eax
xor r8d, r11d
mov ecx, dword [r13 + 0x14]
mov edx, r10d
ror r8d, 2
xor edx, esi
and edx, r11d
mov ebx, r10d
add edx, eax
and ebx, esi
add edx, r8d
mov eax, ebp
add ebx, edx
ror eax, 0xe
xor eax, ebp
mov edx, r15d
ror eax, 5
xor edx, r14d
xor eax, ebp
and edx, ebp
ror eax, 6
xor edx, r14d
add eax, r12d
add r14d, 0x923f82a4
add edx, eax
mov r8d, ebx
ror r8d, 9
mov edi, r11d
xor r8d, ebx
and edi, r10d
ror r8d, 0xb
xor r8d, ebx
ror r8d, 2
bswap ecx
mov dword [rsp + 0xc], ecx
lea eax, [rcx + 0x59f111f1]
mov ecx, dword [r13 + 0x18]
add eax, edx
mov edx, r11d
add esi, eax
xor edx, r10d
and edx, ebx
add edx, eax
mov eax, ebp
add edx, r8d
xor eax, r15d
and eax, esi
add edi, edx
bswap ecx
xor eax, r15d
mov dword [rsp + 0x14], ecx
add eax, r14d
mov r8d, esi
ror r8d, 0xe
mov r9d, edi
xor r8d, esi
ror r8d, 5
xor r8d, esi
ror r8d, 6
add r8d, ecx
add r8d, eax
ror r9d, 9
lea r14d, [r10 + r8]
mov ecx, dword [r13 + 0x24]
xor r9d, edi
ror r9d, 0xb
add r15d, 0xab1c5ed5
xor r9d, edi
mov edx, ebx
ror r9d, 2
xor edx, r11d
and edx, edi
mov r10d, ebx
add edx, r8d
and r10d, r11d
add edx, r9d
mov r8d, r14d
mov r9d, dword [r13 + 0x1c]
add r10d, edx
bswap r9d
mov dword [rsp + 0x1c], r9d
mov eax, esi
ror r8d, 0xe
xor eax, ebp
xor r8d, r14d
and eax, r14d
ror r8d, 5
xor eax, ebp
xor r8d, r14d
add eax, r15d
ror r8d, 6
mov edx, edi
add r8d, r9d
xor edx, ebx
add r8d, eax
and edx, r10d
add edx, r8d
mov r9d, r10d
ror r9d, 9
mov eax, r14d
xor r9d, r10d
xor eax, esi
ror r9d, 0xb
lea r15d, [r11 + r8]
xor r9d, r10d
and eax, r15d
ror r9d, 2
xor eax, esi
add edx, r9d
add eax, 0xd807aa98
mov r9d, dword [r13 + 0x20]
add eax, ebp
bswap r9d
mov dword [rsp + 0x24], r9d
mov r8d, r15d
ror r8d, 0xe
mov r11d, edi
xor r8d, r15d
and r11d, ebx
add r11d, edx
ror r8d, 5
xor r8d, r15d
mov edx, r10d
ror r8d, 6
xor edx, edi
add r8d, r9d
and edx, r11d
add r8d, eax
mov r9d, r11d
ror r9d, 9
add edx, r8d
xor r9d, r11d
add ebx, r8d
ror r9d, 0xb
mov eax, r10d
xor r9d, r11d
and eax, edi
ror r9d, 2
add r9d, edx
add r9d, eax
mov eax, ebx
bswap ecx
ror eax, 0xe
mov dword [rsp + 0xd8], ecx
xor eax, ebx
mov edx, r14d
ror eax, 5
xor edx, r15d
xor eax, ebx
and edx, ebx
ror eax, 6
xor edx, r14d
add eax, esi
mov r8d, r9d
add edx, eax
ror r8d, 9
xor r8d, r9d
lea eax, [rcx + 0x12835b01]
add eax, edx
mov ecx, dword [r13 + 0x28]
add edi, eax
ror r8d, 0xb
xor r8d, r9d
mov edx, r10d
xor edx, r11d
ror r8d, 2
and edx, r9d
add edx, eax
mov eax, r10d
add r8d, edx
and eax, r11d
add r8d, eax
mov edx, ebx
xor edx, r15d
mov dword [rsp + 0xc8], r8d
and edx, edi
mov eax, edi
ror eax, 0xe
xor edx, r15d
xor eax, edi
ror eax, 5
xor eax, edi
ror eax, 6
add eax, r14d
mov r14d, r8d
add edx, eax
ror r8d, 9
xor r8d, r14d
ror r8d, 0xb
xor r8d, r14d
ror r8d, 2
bswap ecx
mov dword [rsp + 8], ecx
lea eax, [rcx + 0x243185be]
mov ecx, dword [r13 + 0x2c]
add eax, edx
mov edx, r9d
xor edx, r11d
and edx, r14d
add edx, eax
lea esi, [r10 + rax]
add r8d, edx
bswap ecx
mov eax, r9d
mov dword [rsp + 0x10], ecx
and eax, r11d
mov edx, edi
add r8d, eax
xor edx, ebx
and edx, esi
mov dword [rsp + 0xc8], r8d
xor edx, ebx
lea r8d, [r15 + 0x550c7dc3]
mov r15d, dword [rsp + 0xc8]
mov eax, esi
ror eax, 0xe
xor eax, esi
ror eax, 5
xor eax, esi
ror eax, 6
add eax, ecx
add edx, eax
add r8d, edx
mov edx, r15d
add r11d, r8d
mov ecx, dword [r13 + 0x30]
mov eax, r14d
xor eax, r9d
ror edx, 9
xor edx, r15d
and eax, r15d
add eax, r8d
ror edx, 0xb
xor edx, r15d
lea r8d, [rbx + 0x72be5d74]
ror edx, 2
mov r10d, r14d
add eax, edx
and r10d, r9d
add r10d, eax
mov edx, esi
xor edx, edi
mov eax, r11d
ror eax, 0xe
and edx, r11d
xor eax, r11d
xor edx, edi
ror eax, 5
mov ebx, r15d
xor eax, r11d
and ebx, r14d
ror eax, 6
bswap ecx
add eax, ecx
mov dword [rsp + 0x18], ecx
mov ecx, dword [r13 + 0x34]
add edx, eax
add r8d, edx
mov eax, r15d
xor eax, r14d
mov edx, r10d
ror edx, 9
and eax, r10d
add eax, r8d
xor edx, r10d
lea ebp, [r8 + r9]
ror edx, 0xb
xor edx, r10d
mov dword [rsp + 0xc8], ebp
ror edx, 2
mov r8d, ebp
add eax, edx
ror r8d, 0xe
add ebx, eax
xor r8d, ebp
ror r8d, 5
mov eax, r11d
xor r8d, ebp
mov dword [rsp], ebx
bswap ecx
ror r8d, 6
xor eax, esi
mov dword [rsp + 0x30], ecx
add r8d, edi
add ecx, 0x80deb1fe
and eax, ebp
xor eax, esi
mov r9d, ebx
ror r9d, 9
add eax, ecx
add r8d, eax
xor r9d, ebx
ror r9d, 0xb
add r14d, r8d
xor r9d, ebx
mov edx, r10d
xor edx, r15d
ror r9d, 2
and edx, ebx
mov ecx, r10d
add edx, r8d
and ecx, r15d
mov r8d, dword [r13 + 0x38]
add edx, r9d
add ecx, edx
bswap r8d
mov edi, dword [rsp + 0x34]
mov eax, r11d
xor eax, ebp
mov dword [rsp + 0x20], r8d
mov ebp, dword [r13 + 0x3c]
and eax, r14d
mov r13d, dword [rsp + 0xc8]
xor eax, r11d
add eax, r8d
mov edx, r14d
ror edx, 0xe
add eax, 0x9bdc06a7
xor edx, r14d
add r11d, 0xc19bf174
ror edx, 5
mov r9d, ecx
xor edx, r14d
ror r9d, 9
ror edx, 6
xor r9d, ecx
ror r9d, 0xb
xor r9d, ecx
ror r9d, 2
lea r8d, [rsi + rdx]
mov edx, ebx
add r8d, eax
xor edx, r10d
add r15d, r8d
and edx, ecx
add edx, r8d
mov eax, ebx
and eax, r10d
add r9d, edx
add r9d, eax
mov edx, r15d
ror edx, 0xe
mov eax, r13d
xor eax, r14d
mov dword [rsp + 0x38], r9d
and eax, r15d
xor edx, r15d
xor eax, r13d
ror edx, 5
add eax, r11d
xor edx, r15d
ror edx, 6
mov esi, ecx
bswap ebp
add edx, ebp
mov dword [rsp + 0xd0], ebp
add edx, eax
and esi, ebx
mov eax, ecx
mov r11d, ebx
xor eax, ebx
mov ebx, dword [rsp + 0x20]
and eax, r9d
lea r8d, [rdx + r10]
add eax, edx
mov dword [rsp + 0x28], r8d
mov r8d, r9d
ror r8d, 9
xor r8d, r9d
ror r8d, 0xb
xor r8d, r9d
mov r9d, 0x12
ror r8d, 2
add eax, r8d
mov dword [rsp + 0xc8], r9d
add esi, eax
mov dword [rsp], esi
mov r12d, dword [rsp + 0x3c]
mov eax, ebx
shr eax, 0xa
mov r8d, ebx
ror r8d, 2
mov edx, r12d
ror edx, 0xb
xor r8d, ebx
xor edx, r12d
ror r8d, 0x11
xor r8d, eax
ror edx, 7
mov eax, r12d
shr eax, 3
xor edx, eax
mov eax, dword [rsp + 0xd8]
add eax, r8d
lea r8, [0x1400b2890]
add edx, eax
mov eax, r15d
xor eax, r14d
add edi, edx
mov edx, dword [rsp + 0x28]
mov r10d, edx
and eax, edx
ror r10d, 0xe
xor r10d, edx
mov dword [rsp + 0x34], edi
xor eax, r14d
ror r10d, 5
xor r10d, edx
ror r10d, 6
add r10d, eax
lea eax, [r9 - 2]
add r10d, dword [r8 + rax*4]
mov r9d, esi
mov eax, dword [rsp + 0xd0]
add r10d, edi
shr eax, 0xa
add r10d, r13d
ror r9d, 9
mov r8d, ebp
ror r8d, 2
xor r9d, esi
xor r8d, ebp
ror r9d, 0xb
mov ebp, dword [rsp + 0x40]
lea ebx, [r10 + r11]
ror r8d, 0x11
mov edx, ebp
xor r8d, eax
ror edx, 0xb
xor edx, ebp
mov eax, ebp
shr eax, 3
xor r9d, esi
ror edx, 7
mov r11d, ebx
xor edx, eax
ror r11d, 0xe
mov eax, dword [rsp + 8]
xor r11d, ebx
add eax, r8d
ror r11d, 5
add edx, eax
xor r11d, ebx
ror r11d, 6
add r12d, edx
mov edx, dword [rsp + 0xc8]
mov eax, r15d
xor eax, dword [rsp + 0x28]
and eax, ebx
mov dword [rsp + 0x3c], r12d
xor eax, r15d
add r11d, eax
lea rax, [0x1400b2890]
dec edx
add r11d, dword [rax + rdx*4]
add r11d, r12d
add r11d, r14d
ror r9d, 2
mov r13d, dword [rsp + 0x2c]
mov r8d, edi
mov r14d, dword [rsp + 0x38]
mov edx, r13d
ror r8d, 2
mov eax, r14d
xor eax, ecx
ror edx, 0xb
and eax, esi
xor r8d, edi
add eax, r10d
ror r8d, 0x11
add eax, r9d
xor edx, r13d
ror edx, 7
and r14d, ecx
add r14d, eax
mov eax, r13d
shr eax, 3
mov r9d, r14d
xor edx, eax
ror r9d, 9
xor r9d, r14d
mov eax, edi
shr eax, 0xa
lea edi, [r11 + rcx]
mov ecx, dword [rsp + 0x38]
xor r8d, eax
mov eax, dword [rsp + 0x10]
mov r10d, edi
add eax, edx
ror r10d, 0xe
add r8d, eax
ror r9d, 0xb
add ebp, r8d
xor r10d, edi
ror r10d, 5
lea r8, [0x1400b2890]
xor r9d, r14d
mov dword [rsp + 0x40], ebp
ror r9d, 2
xor r10d, edi
ror r10d, 6
mov eax, ebx
xor eax, dword [rsp + 0x28]
and eax, edi
xor eax, dword [rsp + 0x28]
add r10d, eax
mov eax, dword [rsp + 0xc8]
add r10d, dword [r8 + rax*4]
mov eax, ecx
xor eax, esi
add r10d, ebp
and eax, r14d
add r10d, r15d
add eax, r11d
mov r15d, ecx
add eax, r9d
and r15d, esi
add r15d, eax
mov r8d, r12d
mov eax, dword [rsp + 4]
mov r9d, r15d
mov edx, eax
ror r8d, 2
ror edx, 0xb
xor r8d, r12d
xor edx, eax
ror r9d, 9
shr eax, 3
xor r9d, r15d
ror edx, 7
xor edx, eax
ror r8d, 0x11
ror r9d, 0xb
mov eax, r12d
shr eax, 0xa
xor r9d, r15d
xor r8d, eax
mov eax, dword [rsp + 0x18]
add eax, edx
mov edx, dword [rsp + 0xc8]
lea esi, [r10 + rcx]
mov ecx, dword [rsp]
add r8d, eax
add r13d, r8d
ror r9d, 2
mov dword [rsp + 0x2c], r13d
mov eax, edi
xor eax, ebx
mov r11d, esi
and eax, esi
ror r11d, 0xe
xor eax, ebx
xor r11d, esi
ror r11d, 5
mov r8d, ebp
xor r11d, esi
ror r8d, 2
ror r11d, 6
xor r8d, ebp
add r11d, eax
ror r8d, 0x11
inc edx
lea rax, [0x1400b2890]
mov r12d, r14d
and r12d, ecx
add r11d, dword [rax + rdx*4]
mov eax, r14d
xor eax, ecx
add r11d, r13d
add r11d, dword [rsp + 0x28]
and eax, r15d
mov r13d, dword [rsp + 4]
add eax, r10d
add eax, r9d
add r12d, eax
mov eax, dword [rsp + 0xc]
mov edx, eax
mov r9d, r12d
ror edx, 0xb
xor edx, eax
ror r9d, 9
shr eax, 3
xor r9d, r12d
ror edx, 7
xor edx, eax
ror r9d, 0xb
mov eax, ebp
xor r9d, r12d
shr eax, 0xa
lea ebp, [r11 + rcx]
xor r8d, eax
ror r9d, 2
mov eax, dword [rsp + 0x30]
mov r10d, ebp
add eax, edx
ror r10d, 0xe
mov edx, dword [rsp + 0xc8]
add r8d, eax
xor r10d, ebp
add r13d, r8d
ror r10d, 5
mov eax, esi
xor eax, edi
mov dword [rsp + 4], r13d
and eax, ebp
xor r10d, ebp
xor eax, edi
ror r10d, 6
add r10d, eax
add edx, 2
lea rax, [0x1400b2890]
add r10d, dword [rax + rdx*4]
mov eax, r15d
xor eax, r14d
add r10d, r13d
and eax, r12d
add r10d, ebx
add eax, r11d
mov r13d, r15d
and r13d, r14d
mov ecx, dword [rsp + 0x2c]
lea ebx, [r10 + r14]
add eax, r9d
mov r8d, ecx
add r13d, eax
ror r8d, 2
mov eax, dword [rsp + 0x14]
xor r8d, ecx
mov edx, eax
ror r8d, 0x11
ror edx, 0xb
mov r11d, ebx
xor edx, eax
ror r11d, 0xe
shr eax, 3
xor r11d, ebx
ror edx, 7
mov r9d, r13d
xor edx, eax
ror r9d, 9
xor r9d, r13d
ror r11d, 5
ror r9d, 0xb
mov eax, ecx
mov ecx, dword [rsp + 0xc]
xor r9d, r13d
shr eax, 0xa
xor r11d, ebx
xor r8d, eax
ror r9d, 2
mov eax, dword [rsp + 0x20]
mov r14d, r15d
add eax, edx
ror r11d, 6
mov edx, dword [rsp + 0xc8]
add r8d, eax
add ecx, r8d
add edx, 3
mov dword [rsp + 0xc], ecx
mov eax, esi
xor eax, ebp
and r14d, r12d
and eax, ebx
xor eax, esi
add r11d, eax
lea rax, [0x1400b2890]
add r11d, dword [rax + rdx*4]
mov eax, r15d
xor eax, r12d
add r11d, ecx
mov ecx, dword [rsp + 4]
and eax, r13d
add eax, r10d
mov r8d, ecx
add eax, r9d
ror r8d, 2
add r14d, eax
xor r8d, ecx
mov eax, dword [rsp + 0x1c]
mov r9d, r14d
mov edx, eax
ror r9d, 9
ror edx, 0xb
xor r9d, r14d
xor edx, eax
ror r8d, 0x11
shr eax, 3
add r11d, edi
ror edx, 7
xor edx, eax
ror r9d, 0xb
mov eax, ecx
xor r9d, r14d
mov ecx, dword [rsp + 0x14]
shr eax, 0xa
xor r8d, eax
mov eax, dword [rsp + 0xd0]
add eax, edx
add r8d, eax
add ecx, r8d
mov dword [rsp + 0x14], ecx
mov edx, dword [rsp + 0xc8]
lea edi, [r11 + r15]
add edx, 4
ror r9d, 2
mov r15d, r12d
mov eax, ebp
xor eax, ebx
and r15d, r13d
and eax, edi
mov r10d, edi
xor eax, ebp
ror r10d, 0xe
xor r10d, edi
ror r10d, 5
xor r10d, edi
ror r10d, 6
add r10d, eax
lea rax, [0x1400b2890]
add r10d, dword [rax + rdx*4]
mov eax, r12d
xor eax, r13d
add r10d, ecx
mov ecx, dword [rsp + 0xc]
and eax, r14d
add eax, r11d
mov r8d, ecx
add eax, r9d
ror r8d, 2
add r15d, eax
xor r8d, ecx
mov eax, dword [rsp + 0x24]
add r10d, esi
mov edx, eax
ror r8d, 0x11
ror edx, 0xb
mov r9d, r15d
xor edx, eax
ror r9d, 9
shr eax, 3
lea esi, [r10 + r12]
ror edx, 7
xor r9d, r15d
xor edx, eax
ror r9d, 0xb
mov eax, ecx
xor r9d, r15d
mov ecx, dword [rsp + 0x1c]
mov r11d, esi
shr eax, 0xa
mov r12d, r13d
xor r8d, eax
ror r11d, 0xe
mov eax, dword [rsp + 0x34]
xor r11d, esi
add eax, edx
ror r11d, 5
mov edx, dword [rsp + 0xc8]
add r8d, eax
xor r11d, esi
ror r9d, 2
ror r11d, 6
add ecx, r8d
mov eax, ebx
mov dword [rsp + 0x1c], ecx
xor eax, edi
add edx, 5
and eax, esi
and r12d, r14d
xor eax, ebx
add r11d, eax
lea rax, [0x1400b2890]
add r11d, dword [rax + rdx*4]
mov eax, r13d
xor eax, r14d
add r11d, ecx
and eax, r15d
add r11d, ebp
add eax, r10d
add eax, r9d
add r12d, eax
mov r9d, r12d
mov eax, dword [rsp + 0xd8]
lea ebp, [r11 + r13]
mov ecx, dword [rsp + 0x14]
mov edx, eax
ror edx, 0xb
mov r8d, ecx
xor edx, eax
ror r8d, 2
shr eax, 3
xor r8d, ecx
ror edx, 7
mov r13d, r14d
xor edx, eax
ror r9d, 9
ror r8d, 0x11
xor r9d, r12d
ror r9d, 0xb
mov eax, ecx
mov ecx, dword [rsp + 0x24]
xor r9d, r12d
shr eax, 0xa
and r13d, r15d
xor r8d, eax
ror r9d, 2
mov eax, dword [rsp + 0x3c]
mov r10d, ebp
add eax, edx
ror r10d, 0xe
mov edx, dword [rsp + 0xc8]
add r8d, eax
add ecx, r8d
xor r10d, ebp
ror r10d, 5
add edx, 6
xor r10d, ebp
mov dword [rsp + 0x24], ecx
ror r10d, 6
mov eax, edi
xor eax, esi
and eax, ebp
xor eax, edi
add r10d, eax
lea rax, [0x1400b2890]
add r10d, dword [rax + rdx*4]
mov eax, r14d
xor eax, r15d
add r10d, ebx
and eax, r12d
add r10d, ecx
mov ecx, dword [rsp + 0x1c]
add eax, r11d
add eax, r9d
add r14d, r10d
add r13d, eax
mov r8d, ecx
mov eax, dword [rsp + 8]
mov r9d, r13d
mov edx, eax
ror r8d, 2
ror edx, 0xb
xor r8d, ecx
xor edx, eax
ror r9d, 9
shr eax, 3
xor r9d, r13d
ror r8d, 0x11
mov r11d, r14d
ror edx, 7
xor edx, eax
ror r9d, 0xb
ror r11d, 0xe
mov eax, ecx
shr eax, 0xa
xor r9d, r13d
xor r8d, eax
xor r11d, r14d
mov eax, dword [rsp + 0x40]
add eax, edx
add r8d, eax
add dword [rsp + 0xd8], r8d
ror r11d, 5
mov ecx, dword [rsp + 0x24]
xor r11d, r14d
mov edx, dword [rsp + 0xc8]
mov r8d, ecx
ror r9d, 2
add edx, 7
ror r11d, 6
mov eax, esi
xor eax, ebp
ror r8d, 2
and eax, r14d
xor r8d, ecx
xor eax, esi
ror r8d, 0x11
add r11d, eax
mov ebx, r15d
and ebx, r12d
lea rax, [0x1400b2890]
add r11d, dword [rax + rdx*4]
mov eax, r15d
xor eax, r12d
add r11d, edi
mov edi, dword [rsp + 0xd8]
and eax, r13d
add eax, r10d
add r11d, edi
add eax, r9d
add r15d, r11d
add ebx, eax
mov r10d, r15d
mov eax, dword [rsp + 0x10]
mov r9d, ebx
mov edx, eax
ror r10d, 0xe
xor r10d, r15d
ror r9d, 9
xor r9d, ebx
ror edx, 0xb
xor edx, eax
ror r10d, 5
shr eax, 3
xor r10d, r15d
ror r9d, 0xb
xor r9d, ebx
ror edx, 7
xor edx, eax
ror r10d, 6
ror r9d, 2
mov eax, ecx
mov ecx, dword [rsp + 8]
shr eax, 0xa
xor r8d, eax
mov dword [rsp], ebx
mov eax, dword [rsp + 0x2c]
add eax, edx
mov edx, dword [rsp + 0xc8]
add r8d, eax
add edx, 8
add ecx, r8d
mov eax, ebp
xor eax, r14d
mov dword [rsp + 8], ecx
and eax, r15d
xor eax, ebp
add r10d, eax
lea rax, [0x1400b2890]
add r10d, dword [rax + rdx*4]
mov eax, r12d
xor eax, r13d
add r10d, esi
and eax, ebx
add r10d, ecx
add eax, r11d
mov ebx, r12d
add eax, r9d
and ebx, r13d
add ebx, eax
mov r9d, ebx
ror r9d, 9
xor r9d, ebx
ror r9d, 0xb
mov eax, dword [rsp + 0x18]
lea esi, [r12 + r10]
mov r12d, dword [rsp]
mov edx, eax
mov ecx, dword [rsp + 0x10]
xor r9d, ebx
ror edx, 0xb
mov r8d, edi
xor edx, eax
ror r8d, 2
shr eax, 3
xor r8d, edi
ror edx, 7
mov r11d, esi
xor edx, eax
ror r11d, 0xe
ror r8d, 0x11
xor r11d, esi
ror r11d, 5
mov eax, edi
shr eax, 0xa
xor r11d, esi
xor r8d, eax
ror r9d, 2
mov eax, dword [rsp + 4]
mov edi, r13d
add eax, edx
ror r11d, 6
mov edx, dword [rsp + 0xc8]
add r8d, eax
add ecx, r8d
add edx, 9
mov dword [rsp + 0x10], ecx
mov eax, r14d
xor eax, r15d
and edi, r12d
and eax, esi
xor eax, r14d
add r11d, eax
lea rax, [0x1400b2890]
add r11d, dword [rax + rdx*4]
mov eax, r13d
xor eax, r12d
add r11d, ebp
and eax, ebx
add r11d, ecx
mov ecx, dword [rsp + 0x30]
add eax, r10d
add eax, r9d
mov edx, ecx
add edi, eax
ror edx, 0xb
mov eax, dword [rsp + 8]
lea ebp, [r11 + r13]
mov r8d, eax
xor edx, ecx
ror r8d, 2
mov r10d, edi
xor r8d, eax
ror r10d, 9
shr eax, 0xa
xor r10d, edi
ror edx, 7
mov r9d, ebp
ror r9d, 0xe
ror r8d, 0x11
xor r9d, ebp
xor r8d, eax
ror r10d, 0xb
mov eax, ecx
ror r9d, 5
mov ecx, dword [rsp + 0x18]
xor r10d, edi
shr eax, 3
xor edx, eax
mov eax, dword [rsp + 0xc]
add eax, r8d
add edx, eax
add ecx, edx
mov dword [rsp + 0x18], ecx
xor r9d, ebp
mov edx, dword [rsp + 0xc8]
mov eax, r15d
xor eax, esi
ror r9d, 6
and eax, ebp
ror r10d, 2
xor eax, r15d
add edx, 0xa
add r9d, eax
lea rax, [0x1400b2890]
add r9d, dword [rax + rdx*4]
mov eax, r12d
xor eax, ebx
add r9d, ecx
mov ecx, dword [rsp + 0x20]
and eax, edi
add eax, r11d
add r9d, r14d
add eax, r10d
mov edx, ebx
mov r10d, dword [rsp + 0x30]
xor edx, edi
mov r11d, ebx
lea r13d, [r9 + r12]
and r11d, edi
and r12d, ebx
add r12d, eax
mov eax, dword [rsp + 0x10]
and edx, r12d
mov r8d, r12d
add edx, r9d
ror r8d, 9
xor r8d, r12d
ror r8d, 0xb
xor r8d, r12d
ror r8d, 2
add edx, r8d
mov r8d, eax
add r11d, edx
ror r8d, 2
xor r8d, eax
mov edx, ecx
shr eax, 0xa
ror edx, 0xb
xor edx, ecx
ror r8d, 0x11
xor r8d, eax
ror edx, 7
mov eax, ecx
shr eax, 3
xor edx, eax
mov eax, dword [rsp + 0x14]
add eax, r8d
add edx, eax
mov eax, r13d
add r10d, edx
ror eax, 0xe
xor eax, r13d
mov dword [rsp + 0x30], r10d
mov edx, eax
shr eax, 5
shl edx, 0x1b
or edx, eax
mov eax, ebp
xor edx, r13d
xor eax, esi
mov r9d, edx
and eax, r13d
shl r9d, 0x1a
xor eax, esi
shr edx, 6
or r9d, edx
mov edx, dword [rsp + 0xc8]
add r9d, eax
add edx, 0xb
lea rax, [0x1400b2890]
add r9d, dword [rax + rdx*4]
mov eax, r11d
add r9d, r10d
add r9d, r15d
lea r14d, [r9 + rbx]
mov ebx, dword [rsp + 0x20]
mov ecx, r12d
ror eax, 9
and ecx, edi
xor eax, r11d
mov edx, eax
shr eax, 0xb
shl edx, 0x15
or edx, eax
mov eax, dword [rsp + 0xd0]
xor edx, r11d
mov r8d, edx
shr edx, 2
shl r8d, 0x1e
or r8d, edx
mov edx, r12d
xor edx, edi
and edx, r11d
add edx, r9d
mov r9d, dword [rsp + 0x18]
add edx, r8d
mov r8d, r9d
add ecx, edx
ror r8d, 2
mov edx, eax
mov dword [rsp + 0x50], ecx
ror edx, 0xb
xor r8d, r9d
xor edx, eax
ror r8d, 0x11
shr eax, 3
ror edx, 7
xor edx, eax
mov eax, r9d
shr eax, 0xa
xor r8d, eax
mov eax, dword [rsp + 0x1c]
add eax, edx
add r8d, eax
mov eax, r14d
ror eax, 0xe
add ebx, r8d
xor eax, r14d
mov dword [rsp + 0x20], ebx
mov edx, eax
shr eax, 5
shl edx, 0x1b
or edx, eax
mov eax, r13d
xor edx, r14d
xor eax, ebp
mov r9d, edx
and eax, r14d
shr edx, 6
xor eax, ebp
shl r9d, 0x1a
or r9d, edx
mov edx, dword [rsp + 0xc8]
add edx, 0xc
add r9d, eax
lea rax, [0x1400b2890]
add r9d, dword [rax + rdx*4]
mov eax, ecx
ror eax, 9
add r9d, ebx
xor eax, ecx
add r9d, esi
mov edx, eax
mov esi, ecx
shl edx, 0x15
shr eax, 0xb
or edx, eax
lea r15d, [r9 + rdi]
xor edx, ecx
mov r8d, edx
shr edx, 2
shl r8d, 0x1e
or r8d, edx
mov edx, r12d
xor edx, r11d
and edx, ecx
mov edi, dword [rsp + 0x34]
add edx, r9d
add edx, r8d
mov eax, r12d
and eax, r11d
mov r8d, r10d
add eax, edx
ror r8d, 2
mov dword [rsp + 0x38], eax
xor r8d, r10d
mov dword [rsp + 0x4c], eax
mov edx, edi
ror edx, 0xb
mov eax, r10d
mov r10d, dword [rsp + 0x38]
xor edx, edi
shr eax, 0xa
and esi, r11d
ror edx, 7
ror r8d, 0x11
xor r8d, eax
mov eax, edi
shr eax, 3
xor edx, eax
mov eax, dword [rsp + 0x24]
add eax, r8d
add edx, eax
mov eax, r15d
add dword [rsp + 0xd0], edx
ror eax, 0xe
xor eax, r15d
mov edx, eax
shr eax, 5
shl edx, 0x1b
or edx, eax
mov eax, r13d
xor eax, r14d
xor edx, r15d
and eax, r15d
mov r9d, edx
xor eax, r13d
shr edx, 6
shl r9d, 0x1a
or r9d, edx
mov edx, dword [rsp + 0xc8]
add r9d, eax
add edx, 0xd
lea rax, [0x1400b2890]
add r9d, dword [rax + rdx*4]
add r9d, ebp
mov ebp, dword [rsp + 0xd0]
add r9d, ebp
lea eax, [r12 + r9]
mov dword [rsp + 0x28], eax
mov dword [rsp + 0x58], eax
mov eax, r10d
ror eax, 9
xor eax, r10d
mov edx, eax
shr eax, 0xb
shl edx, 0x15
or edx, eax
mov eax, ecx
xor eax, r11d
xor edx, r10d
and eax, r10d
mov r8d, edx
add eax, r9d
shl r8d, 0x1e
mov r9d, dword [rsp + 0xc8]
add r9d, 0x10
shr edx, 2
or r8d, edx
mov dword [rsp + 0xc8], r9d
add eax, r8d
add esi, eax
lea eax, [r9 - 2]
mov dword [rsp], esi
mov dword [rsp + 0x48], esi
cmp eax, 0x40
jb 0x14009d9b1
mov rcx, qword [rsp + 0xc0]
lea rdx, [rsp + 0x48]
sub rdx, rcx
mov dword [rsp + 0x60], r14d
mov dword [rsp + 0x5c], r15d
mov eax, 2
mov dword [rsp + 0x54], r11d
mov dword [rsp + 0x64], r13d
nop word [rax + rax]
movdqu xmm0, xmmword [rcx]
movdqu xmm1, xmmword [rdx + rcx]
lea rcx, [rcx + 0x10]
paddd xmm1, xmm0
movdqu xmmword [rcx - 0x10], xmm1
sub rax, 1
jne 0x14009e550
add rsp, 0x78
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
pop rbx
ret