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

Disassembly:
mov r11, rsp
mov qword [r11 + 0x10], rbx
mov qword [r11 + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0x60
mov rax, qword [rdx]
mov rbx, rcx
mov r9d, 0xa54ff53a
mov qword [r11 - 0x78], rax
mov rax, qword [rdx + 8]
mov dword [rsp + 8], r9d
mov qword [r11 - 0x70], rax
mov rax, qword [rdx + 0x10]
mov qword [rsp + 0x18], 0xa
mov qword [r11 - 0x68], rax
mov rax, qword [rdx + 0x18]
mov qword [r11 - 0x60], rax
mov rax, qword [rdx + 0x20]
mov qword [r11 - 0x58], rax
mov rax, qword [rdx + 0x28]
mov qword [r11 - 0x50], rax
mov rax, qword [rdx + 0x30]
mov qword [r11 - 0x48], rax
mov rax, qword [rdx + 0x38]
mov qword [r11 - 0x40], rax
mov rax, qword [rcx + 0xf8]
mov edx, dword [rax + 8]
mov ecx, dword [rax + 0xc]
mov r14d, dword [rax]
mov r15d, dword [rax + 4]
mov esi, dword [rax + 0x10]
mov ebp, dword [rax + 0x14]
mov r12d, dword [rax + 0x18]
mov r13d, dword [rax + 0x1c]
mov rax, qword [rbx + 0x100]
mov r8d, dword [rax]
mov r10d, dword [rax + 4]
mov rax, qword [rbx + 0x108]
mov r11d, dword [rax]
mov edi, dword [rax + 4]
mov dword [rsp + 0x14], edx
mov ebx, dword [rsp + 0x14]
mov edx, 0x6a09e667
lea rax, [0x180032711]
mov dword [rsp + 0xb8], edx
mov edx, 0xbb67ae85
xor r11d, 0x1f83d9ab
mov dword [rsp + 0xb0], edx
mov edx, 0x3c6ef372
xor r8d, 0x510e527f
xor r10d, 0x9b05688c
mov dword [rsp + 0x10], ecx
mov qword [rsp], rax
xor edi, 0x5be0cd19
mov dword [rsp + 0xc], edx
movzx eax, byte [rax - 1]
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
movzx eax, byte [rax]
add ecx, esi
add r14d, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
movzx eax, byte [rax + 1]
mov edx, r14d
xor edx, r8d
mov r8d, dword [rsp + 0xb8]
ror edx, 0x10
add r8d, edx
xor esi, r8d
ror esi, 0xc
add ecx, esi
add r14d, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
movzx eax, byte [rax + 2]
add ecx, ebp
mov r9d, r14d
add r15d, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
movzx eax, byte [rax + 3]
xor r9d, edx
mov edx, r15d
xor edx, r10d
ror r9d, 8
add r8d, r9d
xor esi, r8d
mov dword [rsp + 0xb8], r8d
mov r8d, dword [rsp + 0xb0]
ror esi, 7
ror edx, 0x10
add r8d, edx
xor ebp, r8d
ror ebp, 0xc
add ecx, ebp
add r15d, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
movzx eax, byte [rax + 4]
add ecx, r12d
mov r10d, r15d
xor r10d, edx
add ebx, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
ror r10d, 8
mov edx, ebx
movzx eax, byte [rax + 5]
add r8d, r10d
xor edx, r11d
xor ebp, r8d
mov dword [rsp + 0xb0], r8d
mov r8d, dword [rsp + 0xc]
ror ebp, 7
ror edx, 0x10
add r8d, edx
xor r12d, r8d
ror r12d, 0xc
add ecx, r12d
add ebx, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
add ecx, r13d
mov r11d, ebx
xor r11d, edx
ror r11d, 8
add r8d, r11d
xor r12d, r8d
mov dword [rsp + 0xc], r8d
mov r8d, dword [rsp + 0x10]
add r8d, ecx
ror r12d, 7
mov edx, r8d
xor edx, edi
mov edi, dword [rsp + 8]
ror edx, 0x10
mov rax, qword [rsp]
add edi, edx
movzx eax, byte [rax + 6]
xor r13d, edi
mov ecx, dword [rsp + rax*4 + 0x20]
ror r13d, 0xc
add ecx, r13d
add r8d, ecx
mov dword [rsp + 0x10], r8d
xor r8d, edx
ror r8d, 8
add edi, r8d
xor r13d, edi
mov dword [rsp + 8], edi
mov rdi, qword [rsp]
movzx eax, byte [rdi + 7]
ror r13d, 7
mov ecx, dword [rsp + rax*4 + 0x20]
movzx eax, byte [rdi + 8]
add ecx, ebp
add r14d, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov edx, r14d
xor edx, r8d
mov r8d, dword [rsp + 0xc]
ror edx, 0x10
add r8d, edx
xor ebp, r8d
ror ebp, 0xc
add ecx, ebp
add r14d, ecx
mov edi, r14d
xor edi, edx
ror edi, 8
add r8d, edi
xor ebp, r8d
mov dword [rsp + 0xc], r8d
mov r8, qword [rsp]
movzx eax, byte [r8 + 9]
ror ebp, 7
mov ecx, dword [rsp + rax*4 + 0x20]
movzx eax, byte [r8 + 0xa]
add ecx, r12d
add r15d, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
movzx eax, byte [rax + 0xb]
mov edx, r15d
xor edx, r9d
mov r9d, dword [rsp + 8]
ror edx, 0x10
add r9d, edx
xor r12d, r9d
ror r12d, 0xc
add ecx, r12d
add r15d, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
mov rax, qword [rsp]
movzx eax, byte [rax + 0xc]
add ecx, r13d
mov r8d, r15d
xor r8d, edx
add ebx, ecx
mov ecx, dword [rsp + rax*4 + 0x20]
ror r8d, 8
mov edx, ebx
add r9d, r8d
xor edx, r10d
xor r12d, r9d
mov dword [rsp + 8], r9d
mov r9d, dword [rsp + 0xb8]
ror r12d, 7
ror edx, 0x10
add r9d, edx
xor r13d, r9d
ror r13d, 0xc
add ecx, r13d
add ebx, ecx
mov r10d, ebx
xor r10d, edx
ror r10d, 8
mov rax, qword [rsp]
add r9d, r10d
movzx eax, byte [rax + 0xd]
xor r13d, r9d
mov dword [rsp + 0xb8], r9d
mov ecx, dword [rsp + rax*4 + 0x20]
mov eax, dword [rsp + 0xb0]
mov r9d, dword [rsp + 0x10]
add ecx, esi
ror r13d, 7
add r9d, ecx
mov edx, r9d
xor edx, r11d
ror edx, 0x10
add eax, edx
xor esi, eax
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp]
movzx eax, byte [rax + 0xe]
ror esi, 0xc
mov ecx, dword [rsp + rax*4 + 0x20]
mov eax, dword [rsp + 0xb0]
add ecx, esi
add r9d, ecx
mov r11d, r9d
mov dword [rsp + 0x10], r9d
xor r11d, edx
ror r11d, 8
add eax, r11d
xor esi, eax
mov dword [rsp + 0xb0], eax
mov rax, qword [rsp]
add rax, 0x10
ror esi, 7
sub qword [rsp + 0x18], 1
mov qword [rsp], rax
jne 0x180006ba0
mov edx, dword [rsp + 0xb8]
mov dword [rsp + 0x14], ebx
mov rbx, qword [rsp + 0xa0]
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rcx]
xor eax, r14d
xor eax, edx
mov edx, dword [rsp + 0xb0]
mov dword [rcx], eax
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rcx + 4]
xor eax, r15d
xor eax, edx
mov edx, dword [rsp + 0x14]
mov dword [rcx + 4], eax
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rcx + 8]
xor eax, edx
mov edx, dword [rsp + 0xc]
xor eax, edx
mov dword [rcx + 8], eax
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rcx + 0xc]
xor eax, r9d
mov r9d, dword [rsp + 8]
xor eax, r9d
mov dword [rcx + 0xc], eax
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rcx + 0x10]
xor eax, esi
xor eax, r8d
mov dword [rcx + 0x10], eax
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rcx + 0x14]
xor eax, ebp
xor eax, r10d
mov dword [rcx + 0x14], eax
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rcx + 0x18]
xor eax, r12d
xor eax, r11d
mov dword [rcx + 0x18], eax
mov rcx, qword [rbx + 0xf8]
mov rbx, qword [rsp + 0xa8]
mov eax, dword [rcx + 0x1c]
xor eax, r13d
xor eax, edi
mov dword [rcx + 0x1c], eax
add rsp, 0x60
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret