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

Disassembly:
mov rax, rsp
mov qword [rax + 0x10], rbx
mov qword [rax + 8], rcx
push rbp
push rsi
push rdi
push r12
push r13
push r14
push r15
sub rsp, 0xc0
mov rbx, rcx
lea rcx, [rax - 0x78]
mov r8d, 0x40
call fcn.1400e9de0
mov rdx, qword [rbx + 0xf8]
mov r15d, 0x6a09e667
mov rax, qword [rdx]
mov dword [rsp + 0x118], 0x3c6ef372
mov dword [rsp + 0x20], 0xa54ff53a
mov qword [rsp + 0x30], rax
mov rax, qword [rdx + 8]
mov r9d, dword [rsp + 0x30]
mov qword [rsp + 0x38], rax
mov rax, qword [rdx + 0x10]
mov ecx, dword [rsp + 0x38]
mov qword [rsp + 0x40], rax
mov rax, qword [rdx + 0x18]
mov r12d, dword [rsp + 0x44]
mov r13d, dword [rsp + 0x40]
mov qword [rsp + 0x48], rax
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 eax, dword [rsp + 0x3c]
mov esi, dword [rsp + 0x4c]
mov ebp, dword [rsp + 0x48]
mov dword [rsp + 0x28], eax
mov eax, dword [rsp + 0x34]
xor r8d, 0x510e527f
xor r10d, 0x9b05688c
xor r11d, 0x1f83d9ab
lea r14, [0x14010c591]
mov qword [rsp + 0x70], 0xa
mov dword [rsp + 0x24], eax
xor edi, 0x5be0cd19
mov dword [rsp + 0x110], ecx
mov ebx, 0xbb67ae85
movzx eax, byte [r14 - 1]
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14]
add ecx, r13d
add r9d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 1]
mov edx, r9d
xor edx, r8d
mov r8d, dword [rsp + 0x24]
ror edx, 0x10
add r15d, edx
xor r13d, r15d
ror r13d, 0xc
add ecx, r13d
add r9d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 2]
add ecx, r12d
mov dword [rsp + 0x2c], r9d
xor r9d, edx
add r8d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 3]
ror r9d, 8
mov edx, r8d
xor edx, r10d
add r15d, r9d
xor r13d, r15d
ror r13d, 7
ror edx, 0x10
add ebx, edx
xor r12d, ebx
ror r12d, 0xc
add ecx, r12d
add r8d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
mov eax, dword [rsp + 0x110]
add ecx, ebp
mov r10d, r8d
mov dword [rsp + 0x24], r8d
mov r8d, dword [rsp + 0x118]
add eax, ecx
xor r10d, edx
ror r10d, 8
mov edx, eax
mov dword [rsp + 0x110], eax
movzx eax, byte [r14 + 4]
xor edx, r11d
add ebx, r10d
mov ecx, dword [rsp + rax*4 + 0x80]
mov eax, dword [rsp + 0x110]
xor r12d, ebx
ror r12d, 7
ror edx, 0x10
add r8d, edx
xor ebp, r8d
ror ebp, 0xc
add ecx, ebp
add eax, ecx
mov r11d, eax
mov dword [rsp + 0x110], eax
movzx eax, byte [r14 + 5]
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 6]
xor r11d, edx
ror r11d, 8
add ecx, esi
add r8d, r11d
xor ebp, r8d
mov dword [rsp + 0x118], r8d
mov r8d, dword [rsp + 0x28]
add r8d, ecx
ror ebp, 7
mov edx, r8d
xor edx, edi
mov edi, dword [rsp + 0x20]
ror edx, 0x10
add edi, edx
xor esi, edi
ror esi, 0xc
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 7]
add ecx, esi
add r8d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 8]
add ecx, r12d
mov dword [rsp + 0x28], r8d
xor r8d, edx
ror r8d, 8
add edi, r8d
xor esi, edi
mov dword [rsp + 0x20], edi
mov edi, dword [rsp + 0x2c]
add edi, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 9]
ror esi, 7
mov edx, edi
xor edx, r8d
mov r8d, dword [rsp + 0x118]
ror edx, 0x10
add r8d, edx
xor r12d, r8d
ror r12d, 0xc
add ecx, r12d
add edi, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 0xa]
add ecx, ebp
mov dword [rsp + 0x2c], edi
mov dword [rsp + 0x30], edi
xor edi, edx
ror edi, 8
add r8d, edi
xor r12d, r8d
mov dword [rsp + 0x118], r8d
mov dword [rsp + 0x58], r8d
mov r8d, dword [rsp + 0x24]
ror r12d, 7
add r8d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 0xb]
mov edx, r8d
xor edx, r9d
mov r9d, dword [rsp + 0x20]
ror edx, 0x10
add r9d, edx
xor ebp, r9d
ror ebp, 0xc
add ecx, ebp
add r8d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 0xc]
add ecx, esi
mov dword [rsp + 0x24], r8d
mov dword [rsp + 0x34], r8d
xor r8d, edx
ror r8d, 8
add r9d, r8d
xor ebp, r9d
mov dword [rsp + 0x20], r9d
mov dword [rsp + 0x5c], r9d
mov r9d, dword [rsp + 0x110]
ror ebp, 7
add r9d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
mov edx, r9d
xor edx, r10d
ror edx, 0x10
add r15d, edx
xor esi, r15d
ror esi, 0xc
add ecx, esi
add r9d, ecx
mov r10d, r9d
mov dword [rsp + 0x110], r9d
mov dword [rsp + 0x38], r9d
xor r10d, edx
ror r10d, 8
add r15d, r10d
movzx eax, byte [r14 + 0xd]
mov r9d, dword [rsp + 0x28]
xor esi, r15d
mov ecx, dword [rsp + rax*4 + 0x80]
movzx eax, byte [r14 + 0xe]
ror esi, 7
add ecx, r13d
add r14, 0x10
add r9d, ecx
mov ecx, dword [rsp + rax*4 + 0x80]
mov edx, r9d
xor edx, r11d
ror edx, 0x10
add ebx, edx
xor r13d, ebx
ror r13d, 0xc
add ecx, r13d
add r9d, ecx
mov r11d, r9d
mov dword [rsp + 0x28], r9d
mov dword [rsp + 0x3c], r9d
mov r9d, dword [rsp + 0x2c]
xor r11d, edx
ror r11d, 8
add ebx, r11d
xor r13d, ebx
ror r13d, 7
sub qword [rsp + 0x70], 1
jne 0x140032587
mov dword [rsp + 0x54], ebx
mov rbx, qword [rsp + 0x100]
mov dword [rsp + 0x60], r8d
mov dword [rsp + 0x64], r10d
mov dword [rsp + 0x68], r11d
mov dword [rsp + 0x6c], edi
mov dword [rsp + 0x4c], esi
mov dword [rsp + 0x48], ebp
mov dword [rsp + 0x44], r12d
mov dword [rsp + 0x40], r13d
mov dword [rsp + 0x50], r15d
xor edx, edx
mov rcx, qword [rbx + 0xf8]
mov eax, dword [rsp + rdx + 0x50]
xor eax, dword [rcx + rdx]
xor eax, dword [rsp + rdx + 0x30]
mov dword [rcx + rdx], eax
add rdx, 4
cmp rdx, 0x20
jb 0x1400328b1
mov rbx, qword [rsp + 0x108]
add rsp, 0xc0
pop r15
pop r14
pop r13
pop r12
pop rdi
pop rsi
pop rbp
ret